মাভেনের এমন খারাপ প্রতিনিধি কেন? [বন্ধ]


99

মাভেন কীভাবে খারাপ তা নিয়ে ইন্টারনেটে অনেক কথা হয়। আমি কয়েক বছর ধরে ম্যাভেনের কয়েকটি বৈশিষ্ট্য ব্যবহার করছি এবং আমার দৃষ্টিতে সবচেয়ে গুরুত্বপূর্ণ সুবিধা হ'ল নির্ভরতা ব্যবস্থাপনা।

মাভেন ডকুমেন্টেশন পর্যাপ্ত চেয়ে কম তবে সাধারণত যখন আমি কিছু সম্পাদন করার প্রয়োজন হয় তখন আমি এটি একবারে খুঁজে বের করি এবং তারপরে এটি কার্যকর হয় (উদাহরণস্বরূপ যখন আমি জারগুলিতে স্বাক্ষরকরণ কার্যকর করি)। আমি মনে করি না যে মাভেন দুর্দান্ত, তবে এটি এমন কিছু সমস্যা সমাধান করে যা এটি ছাড়া আসল ব্যথা হতে পারে।

সুতরাং, কেন মাভেনের এইরকম খারাপ প্রতিনিধি আছে এবং মাভিনের সাথে আমি ভবিষ্যতে কোন সমস্যা আশা করতে পারি? সম্ভবত আরও অনেক ভাল বিকল্প আছে যেগুলি সম্পর্কে আমি জানি না? (উদাহরণস্বরূপ, আমি কখনই আইভির দিকে বিস্তারিত দেখিনি))

দ্রষ্টব্য: এটি কোনও যুক্তির কারণ হওয়ার চেষ্টা নয়। এটি এফইউডি সাফ করার চেষ্টা।


29
আমি কখনই কাউকে মাভেন সম্পর্কে খারাপ কথা বলতে শুনিনি। আমি এন্টির চেয়ে ম্যাভেনের সাথে অনেক বেশি উত্পাদনশীল হতে পেরেছি।
টেলর লিজ

4
আমি টেলরের সাথে একমত আমি মাভেনকে ব্যবহার করি নি, তবে শুনেছি অনেক লোক এতে উচ্চারণ করে। এই প্রশ্নটি অনেকটা এফইউডির মতো দেখাচ্ছে।
ম্যাথু ফ্ল্যাশেন

27
@ টেলর, @ ম্যাথিউ, @ ভিক্টর: আমি অবাক হয়েছি আপনি কিছু ম্যাভেন ভ্রমনকে দেখেন নি। এটি একটি খুব বিভাজনকারী সরঞ্জাম। এটি একটি আসল ভালবাসা-বা-ঘৃণা-এটি। কিছু লোক নির্ভরতা-পরিচালন চালাকি পছন্দ করে এবং এটি না পাওয়ার পক্ষে তাদের পছন্দ করে না এবং কিছু লোক জটিল বিতরণশীল নির্ভরতা নিয়ে যে সমস্যাগুলি করতে পারে এবং তা করতে পারে তা দেখে এবং ঝামেলা করার উপযুক্ত নয় বলে সিদ্ধান্ত নেয়।
ড্যান ডায়ার

8
মাভেন কেআইএসএস নীতিটিকে সম্মান করে না। এমভিএন ক্লিন ইনস্টল ছাড়াও কিছু করার চেষ্টা করুন এবং আপনি সমস্যায় পড়েছেন। পিঁপড়া দিয়ে আপনি কোনও ব্যথা ছাড়াই যা করতে পারেন তা করতে পারেন।
ট্রেডারজয়েচিকো

4
এটি কেবলমাত্র একটি উপাখ্যান, তবে মাভেন থেকে পিঁপড়ে যাওয়ার ফলে আমাদের বর্ধনশীল গড়ের সময়গুলি 15 ডলার থেকে 2 মিনিটেরও বেশি যেতে হয়েছিল। আমাদের দলে আপনি মাভেনের প্রচুর ভক্ত পাবেন না।
পিটার ব্র্যাটন

উত্তর:


141

আমি প্রায় ছয় মাস আগে maven মধ্যে তাকিয়ে ছিল। আমরা একটি নতুন প্রকল্প শুরু করছিলাম, এবং সমর্থন করার কোনও উত্তরাধিকার নেই। বলেছিল:

  • ম্যাভেন সব-কিছু-না। বা কমপক্ষে আমি ডকুমেন্টেশন থেকে বলতে পারে। আপনি সহজেই পিঁপড়ার জন্য ড্রপ-ইন প্রতিস্থাপন হিসাবে মাভেন ব্যবহার করতে পারবেন না এবং ধীরে ধীরে আরও উন্নত বৈশিষ্ট্যগুলি গ্রহণ করুন।
  • ডকুমেন্টেশন অনুসারে, মাভেন হ'ল ক্ষুদ্র সুখ যা আপনার সমস্ত বন্য স্বপ্ন সত্য করে তোলে। আপনি আলোকিত হওয়ার আগে আপনাকে কেবল 10 বছর ধরে ম্যানুয়ালটিতে ধ্যান করতে হবে।
  • ম্যাভেন আপনার বিল্ড প্রক্রিয়াটিকে আপনার নেটওয়ার্ক সংযোগের উপর নির্ভর করে।
  • মাভেনের অকেজো ত্রুটি বার্তা রয়েছে। পিঁপড়ার "টার্গেট এক্স প্রজেক্টে নেই" mvn এর "অবৈধ টাস্ক 'রান" এর সাথে তুলনা করুন: আপনাকে অবশ্যই একটি বৈধ লাইফসাইकल পর্ব বা ফর্ম্যাট প্লাগইনে একটি লক্ষ্য নির্দিষ্ট করতে হবে: লক্ষ্য বা প্লাগইনগ্রুপআইডি: প্লাগইনআর্টিফেক্টআইডি: প্লাগইন সংস্করণ: লক্ষ্য "সহায়কভাবে, এটি প্রস্তাব করে যে আমি আরও তথ্যের জন্য এমভিএন চালাব, যার অর্থ এটি একই বার্তাটি মুদ্রণ করবে, তারপরে বিল্ডফেইলর এক্সেকশনটির জন্য একটি স্ট্যাক ট্রেস।

মাভেনের প্রতি আমার অপছন্দের একটি বড় অংশটি মাভেনের সাথে বেটার বিল্ডসের নিম্নোক্ত অংশগুলি দ্বারা ব্যাখ্যা করা যেতে পারে:

যখন কেউ জানতে চাইবেন মাভেন কী, তারা সাধারণত জিজ্ঞাসা করবেন "মাভেন ঠিক কী?", এবং তারা একটি সংক্ষিপ্ত, শব্দ-কামড়ের উত্তর আশা করে expect "আচ্ছা এটি একটি বিল্ড টুল বা স্ক্রিপ্টিং ফ্রেমওয়ার্ক" ম্যাভেন তিনটি বোরিং, অনর্থক শব্দগুলির চেয়ে বেশি is এটি আইডিয়া, মান এবং সফ্টওয়্যার এর সংমিশ্রণ এবং মাভেনের সংজ্ঞাটি কেবল হজম শব্দ-কামড়ের কাছে ছড়িয়ে দেওয়া অসম্ভব। বিপ্লবী ধারণাগুলি প্রায়শই শব্দ দিয়ে বোঝানো কঠিন।

আমার পরামর্শ: আপনি যদি শব্দগুলি দিয়ে ধারণাগুলি জানাতে না পারেন তবে আপনাকে এই বিষয়টিতে একটি বই লেখার চেষ্টা করা উচিত নয়, কারণ আমি ধারণাটি টেলিপ্যাথিকভাবে শোষণ করতে যাচ্ছি না।


134
যারা মাভেনকে বোঝেন তাদের কাছে কোনও ব্যাখ্যা দেওয়ার দরকার নেই। যারা না, তাদের পক্ষে কোনও ব্যাখ্যা সম্ভব নয় possible
অ্যাপোক্যালিস্প

35
আপনার বুলেট পয়েন্টগুলির একটি মিথ্যা। -ও - অফলাইন মোড, তাই না এটি আপনার বিল্ড প্রক্রিয়াটিকে আপনার নেটওয়ার্ক সংযোগের উপর নির্ভর করে না।
MetroidFan2002

10
আমি সর্বদাই বা কিছুই নয়, একমত। আমি অনেক লোককে দেখেছি যে তাদের প্রকল্পের অর্ধেকটি পোর্টফোলিও অর্ধেক পিপড়ায় এবং অর্ধেকটা মাভেনে রাখার চেষ্টা করে খুব বেশি সময় অপচয় করে। একবার প্রতিশ্রুতিবদ্ধ হয়ে গেলে, আপনাকে আপনার মোতায়েনের প্রতিটি অংশকে রূপান্তর করতে কাজটি করতে হবে।
সাল

14
@ অ্যাপোকালিস্প: সুতরাং, অন্য কথায়, মাভেনকে বোঝার একমাত্র লোকেরা এটি লিখেছেন?
পাওয়ারলর্ড

5
ম্যাভেন সব-কিছু-না। এটা সত্য নয়। আপনি নির্ভরতা পরিচালনার জন্য মাভেন ব্যবহার করতে পারেন এবং আপনি চাইলে অন্য কিছুই। আপনার পোম ফাইলটি পড়ার জন্য মাভেন পিঁপড়া টাস্কগুলি কীভাবে ব্যবহার করতে হবে এবং আপনার সমস্ত নির্ভরতা সমন্বিত একটি এএনটি শ্রেণিপথ তৈরি করতে পারে তার একটি কার্যকরী উদাহরণ এটি যা লাগে।
ঝাড়িকো

109
  • এটি শুরু থেকেই আপনার উপর দৃ structure় কাঠামো চাপিয়ে দেয়।
  • এটি এক্সএমএল-ভিত্তিক তাই এটি এটি পড়ার মতোই এএনটি ছিল।
  • এর ত্রুটি প্রতিবেদন করা অস্পষ্ট এবং জিনিসগুলি ভুল হয়ে গেলে আপনাকে আটকে রাখে।
  • নথিটি দরিদ্র is
  • এটি কঠিন জিনিসগুলিকে সহজ এবং সহজ জিনিসগুলিকে শক্ত করে তোলে।
  • মাভেন বিল্ড পরিবেশ বজায় রাখতে এটি অনেক বেশি সময় নেয়, যা একটি সর্ব-গাওয়া বিল্ড সিস্টেম থাকার বিন্দুকে পরাস্ত করে।
  • আপনি খাঁদে একটি বাগ খুঁজে পেয়েছেন এবং কিছু ভুল কনফিগার করেছেন না তা নির্ধারণ করতে দীর্ঘ সময় লাগে takes এবং বাগগুলি রয়েছে এবং আশ্চর্যজনক জায়গায়।
  • এটি অনেক প্রতিশ্রুতি দেয় তবে আপনাকে একটি সুন্দর এবং প্ররোচিত কিন্তু সংবেদনশীল ঠান্ডা এবং ম্যানিপুলেটিভ প্রেমিকের মতো বিশ্বাসঘাতকতা করে।

45
++ এটি কঠিন জিনিসগুলিকে সহজ এবং সহজ জিনিসগুলিকে শক্ত করে তোলে। এটা ঠিক!
মার্টিন কে।

8
"এটি অনেক প্রতিশ্রুতি দেয় তবে একটি সুন্দর এবং প্ররোচিত কিন্তু সংবেদনশীলভাবে ঠান্ডা এবং ম্যানিপুলেটিভ প্রেমিকের মতো বিশ্বাসঘাতকতা করে।" হাহাহাহাহা ... "ফিউরি অফ বল" থেকে সেই মাস্টার ফংয়ের মতো অনেকটাই শোনাচ্ছে
সিজার

8
বুলেট পয়েন্ট 2: এটি প্রায় সবসময় উপাদানগুলি ব্যবহার করে, প্রায়শই কখনও কখনও বৈশিষ্ট্যগুলি ব্যবহার করে না, তাই এক্সএমএল এন্টির চেয়ে পড়া আরও শক্ত!
কার্ল স্মট্রিক্জ

4
শেষ বুলেট জন্য +1। কিছুই আমার দিনকে এমন দুর্দান্ত এবং আনন্দময় উপমা জুড়ে তোলে যা সত্য।
আদম

4
নথিটি দরিদ্র নয়, এটি দুর্দান্ত।
এইচডিভ

96

আমি অবশ্যই অতীতে ম্যাভেন সম্পর্কে কামড় দিয়েছি এবং বিলাপ করেছি । তবে এখন আমি তা ছাড়া থাকতাম না। আমি বোধ করি যে সুবিধাগুলি কোনও সমস্যা ছাড়িয়ে যায়। প্রধানত:

  • প্রমিত প্রকল্প কাঠামো।
    • একটি প্রকল্পে যোগদানকারী একটি নতুন বিকাশকারী দেওয়া:
      • আপনি যখন বলেন এটি একটি মাভেন প্রকল্প, তখন বিকাশকারী প্রকল্পের লেআউট এবং কীভাবে প্রকল্পটি তৈরি এবং প্যাকেজ করবেন তা জানে
      • যখন আপনি বলছেন এটি একটি পিঁপড়ের প্রকল্প, তখন বিকাশকারীকে আপনাকে আরও ব্যাখ্যা করার জন্য অপেক্ষা করতে হবে বা বিল্ড.এক্সএমএল দিয়ে জিনিসগুলি বের করতে হবে।
    • অবশ্যই, পিঁপড়ার সাথে সর্বদা কোম্পানির প্রশস্ত মান আরোপ করা সম্ভব তবে আমি মনে করি না প্রায়শই আপনি প্রবাদবাক্যটিকে পুনরায় উদ্ভাবন করবেন।
  • নির্ভরতা ব্যবস্থাপনা।
    • কেবল বাহ্যিক লাইব্রেরিই নয় অভ্যন্তরীণ গ্রন্থাগারগুলি / মডিউলগুলিও। ম্যাক্সেন রেপোজিটরি প্রক্সি সার্ভার যেমন নেক্সাস বা আর্টিফ্যাক্টরি ব্যবহার করা নিশ্চিত করুন ।
    • আইভির সাহায্যে এর কিছু করা সম্ভব । প্রকৃতপক্ষে, আপনার যদি প্রয়োজন সমস্ত নির্ভরতা পরিচালন হয় তবে আপনি সম্ভবত আইভির সাহায্যে ব্যবহার করা ভাল।
  • বিশেষত একটি প্রকল্পের মধ্যে। আমি সামান্য সাবপ্রজেক্টগুলি ছিন্ন করতে এটি বেশ দরকারী বলে খুঁজে পেয়েছি, এবং খাঁটি এটি ভালভাবে পরিচালনা করে। পিঁপড়ের সাথে এটি আরও অনেক কঠিন।
  • স্ট্যান্ডার্ডাইজড হস্তনির্মিত বস্তু ব্যবস্থাপনা (বিশেষত সাথে নেক্সাস বা artifactory )
  • রিলিজ-প্লাগইন দুর্দান্ত।
  • ইক্লিপস এবং নেটবিয়ান্স ইন্টিগ্রেশন বেশ ভাল।
  • সঙ্গে ইন্টিগ্রেশন হাডসন ব্যাখ্যা। বিশেষত ফাইন্ডব্যাগের মতো জিনিসের ট্রেন্ড গ্রাফ।
  • এটি একটি ছোটখাটো বিষয়, তবে যে জাল বা যুদ্ধের অভ্যন্তরের সংস্করণ নম্বর (কেবল ফাইলের নামেই নয়) ডিফল্টরূপে মভেনগুলি বিশদরূপে সহায়ক।

আমার পক্ষে ডাউনসাইড মূলত:

  • কমান্ড লাইনটি বেশ অপ্রয়োজনীয়। এটি শুরু করার জন্য আমাকে অনেকটা ছাড়িয়ে দিয়েছে।
  • এক্সএমএল ফর্ম্যাটটি খুব ভার্জোজ। এটি কেন এমনভাবে করা হয়েছিল তা আমি দেখতে পাচ্ছি, তবে এটি পড়তে এখনও ব্যথা হচ্ছে।
    • এটি বলেছিল যে কোনও আইডিইতে সহজে সম্পাদনার জন্য এটি একটি এক্সএসডি পেয়েছে।
  • শুরুর দিকে আপনার মাথাটি গোল করা শক্ত। উদাহরণস্বরূপ লাইফসাইকের মতো জিনিস।

আমি সত্যই বিশ্বাস করি যে ম্যাভেনকে জানার জন্য কিছুটা সময় ব্যয় করা উপযুক্ত।


4
আমি বিশেষ করে এক্সএমএল ফর্ম্যাটটিকে কিছু মনে করি না (গ্রহনটি বেশিরভাগ ক্লান্তিকর অংশগুলির দেখাশোনা করতে পারে) এবং বড় প্রকল্পগুলির জন্য নির্দেশাবলী বিলম্বিত করা যাই হোক না কেন সাধারণত নোংরা এবং জটিল। উদাহরণস্বরূপ, আপনি জিএনইউ অটোমেককে এমন কিছু করার জন্য চেষ্টা করবেন না যতক্ষণ না এটি তার যত্ন নেয় না ...
ডোনাল ফেলো

4
ইন্টেলিজজেও দুর্দান্ত মাভেন সমর্থন রয়েছে।
স্টিভেন বেনিতেজ

4
ওহ বিশদ সহ একটি বুদ্ধিমান প্রতিক্রিয়া দেখুন।
টিম ওব্রায়ান

80

দুটি বড় প্রকল্পের আমার ব্যবহারিক অভিজ্ঞতা হ'ল আমরা মাভেন সম্পর্কিত সমস্যাগুলির জন্য প্রতিটি প্রকল্পের জন্য 1000 - 1500 ঘন্টা ব্যয় করেছি, মাভেন 1 থেকে maven 2 এ যাওয়ার 500 ঘন্টা প্রচেষ্টা ব্যতীত।

সেই থেকে, আমি অবশ্যই বলব যে আমি একেবারে নাটককে ঘৃণা করি। এ নিয়ে ভাবতে ভাবতে আমি হতাশ হয়ে পড়ছি।

গ্রহগ্রহের একীকরণটি ভয়াবহ। (উদাহরণস্বরূপ, আমাদের কোড জেনারেশনের সাথে অবিরাম ঝামেলা হয়েছিল, যেখানে গ্রহনটি উত্পন্ন কোডের সাথে সিঙ্ক হয়ে যায় এবং প্রায়শই একটি সম্পূর্ণ পুনর্নির্মাণের প্রয়োজন হয় The দোষটি মেভেন এবং ইক্লিপস উভয়ই, তবে গ্রহণটি ম্যাভেনের চেয়ে বেশি কার্যকর এবং ইম্যাকস বলে, সুতরাং) গ্রহ অবস্থান থাকে এবং মাভেন যেতে হয়))

আমাদের প্রচুর নির্ভরতা ছিল এবং আমরা যেমন আবিষ্কার করেছি যে সিনট্যাক্স ত্রুটিগুলি প্রায়শই পাবলিক মেভেন রিপোজিটরিগুলিতে কমিট হয়, যা আপনার মূল্যবান সময়ের কয়েক ঘন্টা নষ্ট করতে পারে। প্রতি সপ্তাহ. কর্মক্ষেত্রে একটি প্রক্সি বা স্থানীয়ভাবে পরিচালিত ভান্ডার থাকতে হবে এবং এটি ঠিক পেতে বেশ কিছুটা সময় নিয়েছে।

ম্যাভেনস প্রকল্প কাঠামোটিগ্রহণের সাথে বিকাশের জন্য সত্যই উপযুক্ত নয় এবং গ্রহণে বিল্ড সময় বৃদ্ধি পায়।

কোড জেনারেশন এবং সিঙ্ক সমস্যার একটি প্রভাব, আমাদের স্ক্র্যাচ থেকে বরং প্রায়শই পুনর্নির্মাণ করতে হয়েছিল, আপনার কোড / সংকলন / পরীক্ষার চক্রকে একটি অন্তহীন সংকলন / ওয়েবসার্ফ / স্লিপ / ডাই / কোড-চক্রের মধ্যে হ্রাস করে আপনাকে 90 এর দশকে ফিরে পাঠিয়েছিল এবং 40 মিনিটের বার সংকলন।

ম্যাভেনের একমাত্র অজুহাত হ'ল নির্ভরতা সমাধান, তবে আমি প্রতিটি বিল্ডে নয়, একবারে এটি করতে চাই।

মোটকথা, মাইভেন কেআইএসএস থেকে যতটা দূরে থাকতে পারে। এবং এও, অ্যাডভোকেটাররা এমন ধরণের লোক হন যা তাদের জন্মদিনের সময় প্রধানতম সংখ্যা হিসাবে জন্মদিনে অতিরিক্ত উদযাপন করে। আমাকে নিচে নির্দ্বিধায় ভোট দিন :-)


4
আপনি আসলে যা বলছেন তার কিছুটির সাথে আমি একমত, যদিও আমি মনে করি অবশেষে আমি এটি সঠিকভাবে পেয়েছি। আপনি যা চান তা পেতে আইভির দিকে একবার নজর রাখতে পারেন, এটি চেষ্টা করে দেখুননি তবে মনে হয় এটি আরও কাঠামোগত পিঁপড়ের পরিবেশে নির্ভরতা পরিচালনাকে নিয়ে আসে।
নিউটোপিয়ান

5
সুতরাং, আপনি কি মাভেনের কোনও ভাল বিকল্প খুঁজে পেয়েছেন?
থিলো

4
গ্রহণের একীকরণ এখনও ভয়াবহ। আপ-টু-ডেট প্লাগইন থাকা সত্ত্বেও, প্লাগইন-নিয়ন্ত্রিত মেভেন টাস্কগুলি অস্পষ্ট ত্রুটি বার্তাগুলিতে ব্যর্থ হয়। সহপাঠীরা তখন আমাকে একটি কমান্ড শেল ফেলে রেখে একই কমান্ড চালানোর জন্য বলে ... তারপরে এটি রহস্যজনকভাবে কাজ করে। গ্রহনটি একটি পরিণত পরিবেশ, মাভেন প্লাগইন অনেক পিছনে থাকে।
কার্ল স্মট্রিক্জ

4
মাভেন এবং অ্যাকলিপস কীভাবে একটি প্রকল্প বলে তা সংজ্ঞায়িত করে সেখানে একটি মৌলিক পার্থক্য রয়েছে। মাভেনে, একটি প্রকল্প হ'ল সোর্স কোডটি সংগঠিত করার সুবিধাজনক উপায় or সূচনাটি প্রাথমিকভাবে এমনভাবে তৈরি করা হয়েছিল যাতে আপনি একই সময়ে এক বা আরও কয়েকটি বা কম সম্পর্কযুক্ত প্রকল্পে কাজ করতে সক্ষম হন। পরবর্তীকালে (সর্বদা স্বাচ্ছন্দ্য নয়) প্রয়োজনীয়তাগুলি আইবিএমকে "মডিউল" হিসাবে প্রকল্পগুলির অপব্যবহারের দিকে পরিচালিত করে যা গ্রহণটি বাস্তবে খারাপ পরিচালনা করে hand সংজ্ঞাগুলি রূপান্তর করতে, অনেক ক্ষেত্রে, খাঁটি প্রকল্পগুলি সম্ভবত গ্রহন সূত্র ফোল্ডারে ম্যাপ করা উচিত। যাইহোক, মাভেন যেমন তেমন স্তন্যপান হয় তবে কেন বিরক্ত হয়।
কার্লপি

4
আরে! আমি এই সত্যটি শুনেছি যে পরের বার আমার প্রথম বয়স হবে 29, এবং পরবর্তী নিখুঁত ঘনক বয়স 64৪, এবং আমার শেষ নিখুঁত পেইন্ট্রিকের বয়স 32 বছর হবে ... তবে আমি সক্রিয়ভাবে মেভেনকে সমর্থন করি না।
cwallenpoole

46

ম্যাভেন দুর্দান্ত। এর খ্যাতির কারণটি আমার মতে খাড়া শেখার বক্ররেখার সাথে সম্পর্কিত হয়েছে। (যা অবশেষে আমি কাটিয়ে ওঠার কাছাকাছি)

ডকুমেন্টেশনটি কিছুটা ভাটাতে মোটামুটি মোটামুটি কারণ এটি মনে হয় যে এটি বোধ করা শুরু হওয়ার আগেই বোঝার মতো অনেকগুলি পাঠ্য এবং নতুন জিনিস রয়েছে। আমি বলছি মাভেনের আরও প্রশংসিত হওয়ার জন্য সময় প্রয়োজন কেবল।


6
এটি কিছুটা সত্য হতে পারে তবে আমি খুঁজে পেয়েছি যে গ্রহটির সাথে ম্যাভেন সংহতকরণ ব্যবহার করা লোকদের জন্য শেখার বক্ররেখাকে ট্রিম করতে সহায়তা করে। m2eclipse.codehaus.org
টেলর

4
@ টেলর, প্লাগ-ইন নিয়ে আমার প্রচুর সমস্যা হয়েছিল, বিশেষত আপনি যদি গ্রিড বা স্বর্গের অন্য কোনও সংস্করণ আরএডি নিষিদ্ধ করেন। আমি মনে করি এটি সেখানে
ড্যান

আমি এটি কেবলমাত্র Eclipse 3.3, 3.4, এবং JBoss বিকাশকারী স্টুডিও দিয়ে ব্যবহার করেছি এবং এতে কিছুটা ছোট বিরক্তি রয়েছে (যেমন POM সম্পাদক ভাল খেলছেন না) তবে আমার কোনও বড় সমস্যা হয়নি।
টেলর লিজ

10
এটি শেখার বক্ররেখা নয় যা আমাকে বিরক্ত করে। এটি বোঝার পক্ষে আসলেই এতটা কঠিন নয়। আমার সমস্যাটি হ'ল বড় (বাণিজ্যিক) প্রকল্পগুলির জন্য, আপনি ব্যয় করা পরিশ্রমের তুলনায় খুব কম মূল্য পান। ঠিক আছে, আপনার প্রকল্পগুলি তৈরি করে। দুর্দান্ত, তবে এক বছরের জন্য ব্যয় করা বছর, বাহ্যিক কারণগুলির কারণে ধ্রুবক বিল্ড ব্যর্থতা, 5 সেকেন্ডের পরিবর্তে 10 মিনিটের সংকলন এবং একটি কুশ্রীগ্রহণ কর্মক্ষেত্র, এটি কেবল মূল্য দেয় না। তদুপরি, একই ব্যয়ের জন্য, আপনি নিয়মিত ট্রাঙ্কটি নিজেই তৈরি করছেন এমন লোককে কমবেশি ভাড়া নিতে পারেন।
কার্লপি

8
@ কার্ল্প - ভাল, আপনি এখনও এটি পুরোপুরি বুঝতে পারেন না ... ১) "বাহ্যিক কারণগুলির কারণে ব্যর্থতা" - আপনার একটি প্রকল্পের সংগ্রহশালা তৈরি করা উচিত যা আপনি আপনার সমস্ত নির্ভরতা রাখে এবং এর সংস্করণগুলিকে আপনি নিয়ন্ত্রণ করেন। ২) "5 সেকেন্ডের পরিবর্তে 10 মিনিটের সংকলন" - হতে পারে প্রাথমিক মেভেনটি ইনস্টল করুন এবং প্রথম নির্মাণের জন্য - মাভেন এটির জন্য আপনার প্রকল্পের প্রয়োজন সমস্ত নির্ভরতা ডাউনলোড করে - তবে আপনি নিজের কোড তৈরির চেষ্টা করার জন্য যে নিয়মিত বিল্ডিং করছেন তা করা উচিত নয় ডাউনলোড হতে - 1 - এছাড়াও, অফলাইন মোড দেখুন। ৩) "কুৎসিত এক্লিপস ওয়ার্কস্পেস" - মাভেন সমস্ত প্রধান আইডিই (এনবি, ইন্টেলিজজে) এবং কমান্ড লাইন থেকে কাজ করে।
নট

24

কারণ মাভেন হ'ল প্রাপ্ত বয়স্ক পুরুষদের নিখুঁত সন্ত্রাসের কবলে পড়তে হ্রাস করার একটি ডিভাইস।


4
আমাদের এটি করা উচিত এবং এটি একটি বিশাল লাভের জন্য সমস্ত ভিলেনদের কাছে বিক্রি করা উচিত!
জোছিম সউর

7
না! লাভের জন্য ম্যাভেন ব্যবহার করা যাবে না। এটি কেবল অশুভের জন্যই ব্যবহার করা যেতে পারে।
Apocalisp

18

পেশাদাররা:

  • নির্ভরতা ব্যবস্থাপনা। ইতিমধ্যে বেশ কয়েক বছর ধরে, আমার সহকর্মীরা এবং ম্যানুয়ালি নির্ভরতা ডাউনলোড এবং পরিচালনা করছি না। এটি একটি বিশাল সময় সাশ্রয়কারী।
  • আইডিই-স্বাধীনতা। দেখা যাচ্ছে যে সমস্ত বড় আইডিই, একলিপস, আইডিইএ এবং নেটবিয়ানরা কীভাবে মাভেন প্রকল্পগুলির শালীন সমর্থন করে যাতে আমাদের বিকাশকারীরা একটি নির্দিষ্ট আইডিইতে লক না হয়।
  • কমান্ড-লাইন। মাভেনের সাথে একযোগে আইডিই এবং কমান্ড-লাইন কনফিগারেশনগুলিকে সমর্থন করা সহজবোধ্য যা ক্রমাগত সংহতকরণের জন্য ভাল।

কনস:

  • মাভেন শেখার জন্য বিনিয়োগ করতে হবে। ঠিক আছে, এটা করতে হবে। সুসংবাদ, দলের প্রত্যেককেই শিখতে হবে না।
  • ডকুমেন্টেশন। একটি সমস্যা হিসাবে ব্যবহৃত হয়েছিল, এখন সোনাইটাইপ এবং তাদের বই ( http://www.sonatype.com/products/maven/docamentation/book-defguide ) এর জন্য ধন্যবাদ , পরিস্থিতি আরও ভাল।
  • কঠোরতা। আপনার ইচ্ছা মতো কাজগুলি করা কখনও কখনও চ্যালেঞ্জিং এবং হতাশাগ্রস্ত হয়। আমার পরামর্শটি হ'ল ম্যভেনকে লড়াই করা এবং এটি সর্বোত্তমভাবে কাজ করা না করা, সহজভাবে তৈরি করা বা কোনও স্থিতিশীল মোজো পাওয়া যায়। অন্যান্য ক্ষেত্রে, আমরা পিপীলিকার কাজগুলি ( http://maven.apache.org/plugins/maven-antrun-plugin/ ) বহিরাগত প্রোগ্রাম সহ স্টাফগুলি বাদ দিয়ে দেই। আমার ব্যক্তিগত প্রিয় হ'ল গ্রোভি প্লাগুন ( http://groovy.codehaus.org/GMaven )।

প্রতিযোগিতা:

  • পিপীলিকা: নির্ভরতা ব্যবস্থাপনা নেই। পিরিয়ড।
  • আইভী: মাভেনের চেয়ে এখনও কম পরিপক্ক (এটিও নয় যে পরেরটিরও কোচফাঁস থাকে না)। প্রায় একই বৈশিষ্ট্য সেট, তাই সরানোর কোন বাধ্যতামূলক কারণ। আমি এটি চেষ্টা করার জন্য অনেক চেষ্টা করেছি; সমস্ত ব্যর্থ।

নীচের লাইন: আমাদের সমস্ত প্রকল্প ইতিমধ্যে বেশ কয়েক বছর ধরে মাভেনের সাথে সম্পন্ন হয়েছে।


4
পিঁপড়া মাভেনের সাথে প্রতিযোগিতা করে না। আইভী ম্যাভেনের সাথে প্রতিযোগিতা করে না (এটি ম্যাভেন পিঁপড়ের কাজগুলির সাথে প্রতিযোগিতা করে)। ম্যাভেন একটি বিল্ড টুল + নির্ভরতা পরিচালনার চেয়ে বেশি। পিরিয়ড।
পাস্কেল থিভেন্ট

18

আমি মনে করি সবচেয়ে সহজ এবং সবচেয়ে জটিল প্রকল্প রয়েছে এমন লোকদের সাথে এটির খারাপ খ্যাতি রয়েছে।

আপনি যদি একটি একক কোডবেস থেকে একটি একক ওয়ার তৈরি করে থাকেন তবে এটি আপনাকে আপনার প্রকল্পের কাঠামোটি চারপাশে সরিয়ে নিতে এবং ম্যানুয়ালি তিনটি জারের দু'টিকে POM ফাইলে তালিকাবদ্ধ করতে বাধ্য করে।

আপনি যদি পাঁচটি ওয়ার ফাইল, তিনটি ইজেবি এবং 17 টি অন্যান্য সরঞ্জাম, নির্ভরতা জার এবং কনফিগারেশনের সমন্বয়ে নয়টি ইআর ফাইল প্রোটোটাইপের একটি সেট থেকে একটি ইয়ার তৈরি করছেন তবে চূড়ান্ত নির্মাণের সময় বিদ্যমান সংস্থানগুলিতে টুইটারে MANIFEST.MF এবং এক্সএমএল ফাইলগুলি প্রয়োজন; তাহলে মাভেন সম্ভবত খুব সীমাবদ্ধ। এই জাতীয় প্রকল্প জটিল নেস্টেড প্রোফাইল, প্রোপার্টি ফাইল এবং ম্যাভেন বিল্ড গোল এবং ক্লাসিফায়ার ডিজাইনের অপব্যবহারের জগাখিচুড়ি হয়ে যায়।

সুতরাং যদি আপনি জটিলতার বক্ররেখার নীচে 10% হন তবে এর ওভারকিল। এই বক্ররেখার শীর্ষ 10% এ, আপনি স্ট্রেইট জ্যাকেটে রয়েছেন।

মাভেনের বৃদ্ধি কারণ এটি মাঝারি 80% এর জন্য ভাল কাজ করে


16

আমার অভিজ্ঞতা এখানে পোস্টগুলির অনেকের হতাশার প্রতিধ্বনিত করে। মাভেনের সমস্যাটি হ'ল এটি চূড়ান্ত অটোমেজিকালাল সার্থকতার জন্য অনুসন্ধানে বিল্ড ম্যানেজমেন্টের বিশদটি আবৃত এবং গোপন করে। এটি ভেঙে গেলে আপনাকে প্রায় অসহায় করে তোলে।

আমার অভিজ্ঞতাটি হ'ল ম্যাভেনের সাথে যে কোনও সমস্যা খুব শীঘ্রই নেস্টেড এক্সএমএল ফাইলগুলির জালগুলির মাধ্যমে বহু ঘন্টার স্নাইপ শিকারে পরিণত হয়, এটি রুট খালের অনুরূপ একটি অভিজ্ঞতায়।

আমি এমন দোকানগুলিতেও কাজ করেছি যা মাভেনের উপর খুব বেশি নির্ভর করে, যে লোকেরা এটি পছন্দ করে (যারা এটি "বোতামটি চাপুন, এটি সমস্ত সম্পন্ন করুন" দিকটির জন্য এটি পছন্দ হয়েছিল) এটি বুঝতে পারে না। এই খাঁটি বিল্ডগুলির একটি মিলিয়ন স্বয়ংক্রিয় লক্ষ্যমাত্রা ছিল, যা আমি নিশ্চিত যে তারা কি করেছিল তা পড়তে সময় নেওয়ার মতো অনুভব করতাম useful 2 টি লক্ষ্যমাত্রা যা আপনার সম্পূর্ণরূপে বোঝে work

সতর্কতামূলক: মাভেনের সাথে সর্বশেষ 2 বছর আগে কাজ করেছেন, এটি এখন আরও ভাল হতে পারে।


14

গ্লেনের মতো, আমি মনে করি না মাভেনের খারাপ প্রতিনিধি আছে, তবে একটি মিশ্র প্রতিনিধি rep আমি 6 মাস ধরে একচেটিয়াভাবে মাভেনের পরিবর্তে একটি বড় প্রকল্পের প্রকল্পটি স্থানান্তরিত করার চেষ্টা করছি এবং এটি স্পষ্টভাবে সরঞ্জামটির সীমাটি দেখায়।

আমার অভিজ্ঞতায়, মাভেন এর পক্ষে ভাল:

  • বাহ্যিক নির্ভরতা ব্যবস্থাপনা
  • বিল্ড কেন্দ্রীভূত পরিচালনা (pom উত্তরাধিকার)
  • প্রচুর জিনিসের জন্য প্রচুর প্লাগইন
  • অবিচ্ছিন্ন ইন্টিগ্রেশন সরঞ্জামগুলির সাথে খুব ভাল সংহতকরণ
  • খুব ভাল রিপোর্টিং ক্ষমতা (ফাইন্ডব্যাগস, পিএমডি, চেকস্টাইল, জাভাদোক, ...)

এবং এতে কিছু সমস্যা রয়েছে:

  • সমস্ত বা কিছুই কিছুই না (আস্তে আস্তে মাভেনে স্থানান্তরিত করা শক্ত)
  • জটিল নির্ভরতা, অন্তর্গতগুলি নির্ভরতা
  • চক্রীয় নির্ভরতা (আমি জানি, খারাপ ডিজাইন, তবে আমরা 5 বছরের দেব ঠিক করতে পারি না ...)
  • সংহতি (সংস্করণ ব্যাপ্তি সর্বত্র একই কাজ করে না)
  • বাগ (আবার সংস্করণ ব্যাপ্তি সহ)
  • পুনরুত্পাদনযোগ্য বিল্ডস (যদি আপনি সমস্ত প্লাগইনের সংস্করণ সংখ্যা ঠিক না করেন তবে আপনি 6 মাসের মধ্যে একই বিল্ডটি পাবেন তা নিশ্চিত হতে পারবেন না)
  • ডকুমেন্টেশনের অভাব (দস্তাবেজটি বেসিকদের পক্ষে বেশ ভাল, তবে বড় প্রকল্পগুলি কীভাবে পরিচালনা করতে হবে তার উদাহরণ প্রচুর নেই)

কিছু প্রসঙ্গে বলতে গেলে এই প্রকল্পে প্রায় ৩০ জন বিকাশকারী কাজ করছেন এবং এই প্রকল্পটি প্রায় পাঁচ বছরেরও বেশি সময় ধরে রয়েছে, সুতরাং: প্রচুর উত্তরাধিকার, প্রচুর প্রক্রিয়া ইতিমধ্যে রয়েছে এবং প্রচুর কাস্টম মালিকানা সরঞ্জাম ইতিমধ্যে রয়েছে। আমরা মাভেনে স্থানান্তরের চেষ্টা করার সিদ্ধান্ত নিয়েছি কারণ আমাদের মালিকানাধীন সরঞ্জামগুলি বজায় রাখার জন্য ব্যয় খুব বেশি হচ্ছে।


12

আমি এই ফোরামে করা কয়েকটি অভিযোগকে মোকাবিলা করতে চাই:

ম্যাভেন সব-কিছু-না। বা কমপক্ষে আমি ডকুমেন্টেশন থেকে বলতে পারে। আপনি সহজেই পিঁপড়ার জন্য ড্রপ-ইন প্রতিস্থাপন হিসাবে মাভেন ব্যবহার করতে পারবেন না এবং ধীরে ধীরে আরও উন্নত বৈশিষ্ট্যগুলি গ্রহণ করুন।

এটা সত্য নয়। মাভেনের বড় জয় এটিকে আপনার নির্ভরতাগুলি যুক্তিসঙ্গত উপায়ে পরিচালনা করতে ব্যবহার করছে এবং আপনি যদি মাভেনে এটি করতে চান এবং পিঁপড়ায় সমস্ত কিছু করতে চান, আপনি পারেন। এখানে কীভাবে:

<?xml version="1.0" encoding="UTF-8"?>
<project name="foo" basedir="." xmlns:maven="antlib:org.apache.maven.artifact.ant" >
  <maven:dependencies verbose="true" pathId="maven.classpath">
    <maven:pom id="maven.pom" file="pom.xml" />
  </maven:dependencies>
</project>

আপনার এখন 'maven.classpath' নামে একটি ক্লাসপাথ অবজেক্ট রয়েছে যা পম ফাইলে সংজ্ঞায়িত সমস্ত মাভেন নির্ভরতা ধারণ করে। আপনার যা দরকার তা হ'ল আপনার পিঁপড়ার লিবিব ডিরেক্টরিতে খাঁটি পিঁপড়া টাস্কগুলি জার করা।

ম্যাভেন আপনার বিল্ড প্রক্রিয়াটিকে আপনার নেটওয়ার্ক সংযোগের উপর নির্ভর করে।

ডিফল্ট নির্ভরতা এবং প্লাগইন আনার প্রক্রিয়া একটি নেটওয়ার্ক সংযোগের উপর নির্ভর করে, হ্যাঁ, তবে কেবলমাত্র প্রাথমিক নির্মাণের জন্য (বা আপনি যদি ব্যবহারের উপর নির্ভরশীলতা বা প্লাগইন পরিবর্তন করেন)। এর পরে সমস্ত জার স্থানীয়ভাবে ক্যাশে করা হয়। এবং যদি আপনি নো-নেটওয়ার্ক সংযোগটি জোর করতে চান তবে আপনি ম্যাভেনকে অফলাইন মোড ব্যবহার করতে বলতে পারেন।

এটি শুরু থেকেই আপনার উপর দৃ structure় কাঠামো চাপিয়ে দেয়।

এটি ফাইল ফর্ম্যাট বা 'কনভেনশন বনাম কনফিগারেশন' সমস্যাটি উল্লেখ করছে কিনা তা পরিষ্কার নয়। পরবর্তীকালের জন্য, অনেকগুলি অদৃশ্য ডিফল্ট রয়েছে জাভা উত্স ফাইল এবং সংস্থানগুলির প্রত্যাশিত অবস্থান বা উত্সের সামঞ্জস্যের মতো । তবে এটি অনমনীয়তা নয়, এটি আপনার জন্য বুদ্ধিমান ডিফল্ট রাখার জন্য আপনাকে এগুলি স্পষ্টভাবে সংজ্ঞায়িত করতে হবে না। সমস্ত সেটিংস বেশ সহজেই ওভাররাইড করা যেতে পারে (যদিও কোনও শিক্ষানবিশের জন্য এটি কীভাবে কিছু জিনিস পরিবর্তন করতে হয় তা ডকুমেন্টেশনে খুঁজে পাওয়া কঠিন)।

আপনি যদি ফাইল ফর্ম্যাট সম্পর্কে কথা বলছেন তবে ভাল এটি পরবর্তী অংশের প্রতিক্রিয়াতে আচ্ছাদিত ...

এটি এক্সএমএল-ভিত্তিক তাই এটি এটি পড়ার মতোই এএনটি ছিল।

প্রথমে, আমি দেখতে পাচ্ছি না যে আপনি কীভাবে অভিযোগ করতে পারেন যে কোনও কিছুর কিছু দিক 'পিঁপড়ের চেয়ে ভাল নয়' এটির খারাপ প্রতিবেদনের সমর্থনযোগ্যতা হিসাবে। দ্বিতীয়ত, এটি এখনও এক্সএমএল থাকা অবস্থায়, এক্সএমএলের ফর্ম্যাটটি অনেক বেশি বেশি সংজ্ঞায়িত। আরও, কারণ এটির সংজ্ঞা দেওয়া হয়েছে, এটি কোনও পমের জন্য বুদ্ধিমান পুরু ক্লায়েন্ট সম্পাদক করা অনেক সহজ। আমি পৃষ্ঠাগুলি লম্বা পিঁপড়া তৈরি স্ক্রিপ্ট দেখেছি যা পুরো জায়গা জুড়ে। কোনও পিঁপড়া তৈরির স্ক্রিপ্ট সম্পাদক এটিকে আরও স্পর্শকাতর করে তুলবে না, একে অপরকে সংযুক্ত কাজের আরও একটি দীর্ঘ তালিকা কিছুটা ভিন্ন উপায়ে উপস্থাপন করা হয়েছে।

বলার পরেও যে এখানে কয়েকটি অভিযোগ আছে যা আমি এখানে দেখেছি যা কিছুটা অসম্পূর্ণতা পেয়েছিল বা তার মধ্যে সবচেয়ে বড় ঘটনা ছিল the

  • ডকুমেন্টেশন দুর্বল / নিখোঁজ
  • পুনরুত্পাদনযোগ্য বিল্ডস
  • গ্রহণের একীকরণ খারাপ bad
  • বাগ

যার প্রতি আমার প্রতিক্রিয়া দ্বিগুণ। প্রথমত, ম্যাভেন একটি পিঁপড়া বা মেকের তুলনায় অনেক ছোট সরঞ্জাম, সুতরাং আপনাকে আশা করতে হবে যে এই অ্যাপ্লিকেশনগুলির পরিপক্কতার স্তরে যেতে সময় লাগবে। দ্বিতীয়টি হল, ভাল যদি আপনি এটি পছন্দ না করেন তবে এটি ঠিক করুন । এটি একটি ওপেন সোর্স প্রকল্প এবং এটি ব্যবহার করে এবং তারপরে সমাধানের ক্ষেত্রে যে কারও হাত থাকতে পারে এমন অভিযোগ করা আমার কাছে মোটামুটি অ্যাসাইনিন বলে মনে হয়। ডকুমেন্টেশন পছন্দ না? এটি আরও পরিষ্কার, আরও সম্পূর্ণ বা কোনও শিক্ষানবিশকে অ্যাক্সেসযোগ্য করার জন্য এতে অবদান রাখুন।

পুনরুত্পাদনযোগ্য বিল্ডস সমস্যাটি দুটি ইস্যুতে বিভক্ত হয়, সংস্করণ ব্যাপ্তি এবং স্বয়ংক্রিয় মাভেন প্লাগইন আপডেট। প্লাগইন আপসেটসের জন্য, আপনি যদি এক বছর পরে কোনও প্রকল্প পুনর্নির্মাণের বিষয়টি নিশ্চিত না করেন তবে আপনি ঠিক একই জেডিকে এবং একই পিঁপড়ার সংস্করণটি ব্যবহার করছেন, ভাল এটি অন্য নামের সাথে একই সমস্যা। সংস্করণ ব্যাপ্তিগুলির জন্য, আমি এমন প্লাগইনে কাজ করার পরামর্শ দিচ্ছি যা সমস্ত প্রত্যক্ষ এবং ট্রানজিটিভ নির্ভরতার জন্য লক করা সংস্করণগুলির সাথে একটি অস্থায়ী পোম তৈরি করবে এবং এটিকে মেভেন রিলিজ লাইফসাইকেলের অংশ হিসাবে তৈরি করবে। এইভাবে আপনার রিলিজ বিল্ড পমস সবসময় সমস্ত নির্ভরতার সঠিক বিবরণ।


11

এটি যে সুনাম অর্জন করেছে তার দাবিদার। প্রত্যেকেরই সেই দৃ structure় কাঠামোর প্রয়োজন নেই যা মাভেনের বিকাশকারীরা প্রতিটি প্রকল্পের জন্য উপযুক্ত বলে মনে করেছিলেন। এটা এত জটিল। এবং অনেক লোকের জন্য 'প্রো', নির্ভরতা পরিচালন, আইএমএইচও এটিই এর বৃহত্তম 'কন'। নেটওয়ার্ক থেকে জার ডাউনলোড করার জন্য আমি একেবারেই স্বাচ্ছন্দ্য বোধ করি না এবং অসম্পূর্ণতার কারণে আমার ঘুম হারাতে পারি (হ্যাঁ, অফলাইন মোড বিদ্যমান, তবে কেন আমার এই সমস্ত শত শত এক্সএমএল ফাইল এবং চেকসাম থাকা উচিত)। আমি সিদ্ধান্ত নিয়েছি আমি কোন লাইব্রেরি ব্যবহার করি এবং অনেক প্রকল্পের নেটওয়ার্ক সংযোগের উপর নির্ভরশীল বিল্ডগুলি সম্পর্কে গুরুতর উদ্বেগ থাকে।

আরও খারাপ, যখন জিনিসগুলি কাজ করে না, আপনি একেবারে হারিয়ে যান। ডকুমেন্টেশন সাফ করে, সম্প্রদায়টি নিখুঁত।


4
আমি এটার সাথে একমত. আমি মনে করি নির্ভরতা-পরিচালনার মান বাড়ানো হয়েছে। নিশ্চিত হয়ে নিন যে এগুলি সমস্ত কার্যকর হয় তবে এটি বেশ কয়েকটি সম্ভাব্য ব্যর্থতার পয়েন্টগুলি (সম্ভাব্য সুরক্ষা গর্তগুলির উল্লেখ না করে) প্রবর্তন করে। সমস্যাগুলি কিছুটা কমিয়ে আনতে আপনি নিজের সংগ্রহস্থল সার্ভারটি সেটআপ করতে পারেন এবং অপ্রত্যাশিত আপডেটগুলি এড়াতে সংস্করণ নম্বরগুলি লক-ডাউন করতে পারেন, তবে আমি এখনও সংস্করণ নিয়ন্ত্রণে নির্ভরতা যুক্ত করতে পছন্দ করি কারণ তারা প্রায়শই এটি পরিবর্তন করে না এবং এটি পুনরাবৃত্তিযোগ্য বিল্ডের গ্যারান্টি দেয় ।
ড্যান ডায়ার

8

এক বছর পরে আমি এটি আপডেট করতে চেয়েছিলাম: মাভেন সম্প্রদায়ের সম্পর্কে আমার আর এই মতামত নেই। আজ যদি প্রশ্ন জিজ্ঞাসা করা হত তবে আমি এই উত্তরটি লিখব না। আমি আমার বর্তমান মতামত একটি পৃথক উত্তর হিসাবে যুক্ত করতে যাচ্ছি।


এটি একটি খুব বিষয়গত উত্তর, কিন্তু প্রশ্ন মতামত সম্পর্কে তাই, ...

আমি মাভেনকে পছন্দ করি এবং এটি আরও বেশি জানতে পেরে আমি এটি আরও ভাল পছন্দ করি। এটি সম্পর্কে আমার অনুভূতিগুলিকে প্রভাবিত করার একটি বিষয়, তবে: খাঁটি সম্প্রদায়টি মূলত সোনাটাইপকে কেন্দ্র করে ("ম্যাভেন সংস্থা", যেখানে অনেক মাভেন হঞ্চো কাজ করছে) এবং সোনাটাইপ তার কর্পোরেট পণ্যগুলি সম্প্রদায়ের উপর বেশ আগ্রাসীভাবে চাপ দিচ্ছে ing

একটি উদাহরণ: "ম্যাভেন বুক" একটি অনুমিত করার টুইটার স্ট্রিমে সংযোগগুলি সংগ্রহস্থলের ব্যবস্থাপনা ভূমিকা

দুঃখিত, তবে সেই "পরিচয়" অর্ধ-তথ্য, নেক্সাসের অর্ধেক বিক্রয় পিচ। পপ কুইজ: নেক্সাস এবং নেক্সাস প্রো ছাড়াও কি কোনও রেপো ম্যানেজার রয়েছে? এছাড়াও, অনুমিত ওপেন সোর্সযুক্ত মাভেন বইয়ের সাথে এর কী করার আছে? ওহ, ঠিক আছে, সংগ্রহশালা পরিচালনার অধ্যায়টি একটি পৃথক বইতে ছড়িয়ে দেওয়া হয়েছে ... নেক্সাস সম্পর্কে। হু। আমি যদি মাভেন বইটিতে অবদান রাখি, আমি যদি নেক্সাসের বিক্রয় বৃদ্ধির কারণ হয়ে থাকি তবে আমি কি রেফারেল ফি পাই?

কল্পনা করুন আপনি যদি কোনও জাভা উন্নয়ন ফোরামে অংশ নিচ্ছেন এবং এটি স্পষ্ট ছিল যে জাভা নিয়ে আলোচনা করা সান কর্মচারীরা নেটবিয়ানস এবং "নেটবিয়ানস প্রো" সম্পর্কে কথা বলার জন্য সম্ভাব্য প্রতিটি সুযোগকে কাজে লাগাবে। কিছুক্ষণ পরে, এটি তার সম্প্রদায়ের কিছু অনুভূতি হারাবে। পিঁপড়ার সাথে আমার মতো অভিজ্ঞতা কখনও হয়নি।

এই সমস্ত কথা বলার পরেও, আমি মনে করি যে সফটওয়্যার ডেভলপমেন্ট কনফিগারেশন এবং বিল্ড ম্যানেজমেন্টের জন্য ম্যাভেন একটি খুব আকর্ষণীয় এবং দরকারী সিস্টেম (আমি এটিকে একটি সরঞ্জাম বলছি না, পিঁপড়ার মতো, ম্যাভেন তার চেয়েও বিস্তৃত)। নির্ভরতা পরিচালন কখনও কখনও আশীর্বাদ এবং এক অভিশাপ, তবে এটি সতেজ হয় - এবং অবশ্যই মাভেন কেবল একমাত্র সুবিধা দিচ্ছে না। আমি সম্ভবত সোনাইটাইপ শিলিংয়ের জন্য কিছুটা জোরালো প্রতিক্রিয়া ব্যক্ত করছি তবে এটি মতে মাওভেনকে অ্যাসোসিয়েশন করে আমার মতে। আমি জানি না এই মতামত অন্য কারও দ্বারা ভাগ করা হয়েছে কিনা।


4
জ্যাক, আপনি কি জানেন যে আপনি নেক্সাস পেশাদার সম্পর্কে আরও জানতে চাইলে আমি ভাবছিলাম। :-)
টিম ও'ব্রায়ান

7

আমি মনে করি মাভেন একটি খারাপ র‌্যাপ পেয়েছে কারণ এটি আপনার প্রকল্পের কাঠামো আরোপ করে, অন্যদিকে এন্টের মতো অন্যান্য সরঞ্জামগুলি আপনার ইচ্ছামত কোনওভাবে কাঠামোর সংজ্ঞা দিতে দেয়। এটিও সম্মত হয়েছে যে ডকুমেন্টেশনটি খারাপ, তবে আমি মনে করি মূলত মাভেনের যে খারাপ র‌্যাপ আসে তা হ'ল মানুষ পিপীলিকার সাথে এতটাই অভ্যস্ত।


4
আমি সম্মত হই যে প্রাথমিকভাবে লোকেরা অ্যান্টের সাথে তাদের নিয়ন্ত্রণটি মিস করতে পারে তবে মায়েনের চাপায় যে কনভেনশনগুলি তারা গ্রহণ করেছিল তারা একবার এখান থেকে উত্পাদনশীলতায় লাভ দেখতে পাবে।
টেলর লিজ

5
সত্য নয়, মাভেন আপনাকে প্রকল্পের কাঠামো পরিবর্তন করতে দেয়, এটি কেবল এমন কাঠামোর প্রস্তাব দেয় যা বহুল ব্যবহৃত হয়।
adrian.tarau

4
আমি এটা সত্য মনে করি না। মাভেন সম্পর্কে বেশিরভাগ অভিযোগ হ'ল উপায়গুলি কীভাবে এটি ব্যর্থ হতে পারে, এটি কত ধীরে ধীরে বা ডকুমেন্টেশন সম্পর্কিত। কাঠামোগত সম্পর্কে কেউ অভিযোগ করার বিষয়টি আমি সত্যিই লক্ষ্য করি না।
ড্যান ডায়ার

@ ড্যান ডায়ার: আমি দ্বিতীয় কাঠামোটি আসলে মাভেন যে কয়েকটি ভাল কাজ করে তার মধ্যে একটি। এটি ম্যাভেনকে এত ভয়ঙ্কর করে তুলেছে এমন সমস্ত কিছু।
কার্ল স্মট্রিক্জ

6

অনেক বেশি যাদু।


4
আরও সুনির্দিষ্ট হন - এটি সম্পর্কে এতটা যাদু কী যা নথিভুক্ত নয়?
তিমি 13

4
প্রত্যাশার মতো কেন কিছু কাজ করে না তা খুঁজে পাওয়ার জন্য আপনাকে 2 ঘন্টার মধ্যে ওয়েবে অনুসন্ধান করতে হবে তার সাথে সাথেই এটি যাদু। আপনি যদি একটি নির্দিষ্ট উদাহরণ চান: আমার প্লাগইন কার্যকর করা হয় না কেন? আপনার 2 ঘন্টা আছে।
দামিয়েন বি

প্রকৃতপক্ষে, যখনই আমি এমন কোনও কাজ করছি যা 2 ঘন্টার জন্য ওয়েব অনুসন্ধানের সাথে জড়িত না তখন আমি সন্দেহজনক হয়ে উঠতে শুরু করি যে আমি এই কাজের জন্য ভুল সরঞ্জামটি ব্যবহার করছি বা প্রয়োজনীয়তাকে গুরুতরভাবে ভুল / ভুল বুঝেছি / বুঝিয়েছি।
ডগ ম্যাসক্রপ

6

কারণ অসন্তুষ্ট লোকেরা অভিযোগ করেন এবং সন্তুষ্ট লোকেরা বলেন না যে তারা সন্তুষ্ট। আমার বক্তব্যটি হ'ল অসন্তুষ্টের চেয়ে অনেক বেশি সন্তুষ্ট মেভেন ব্যবহারকারী রয়েছেন তবে পরবর্তীতে আরও শব্দ করুন। এটি বাস্তব জীবনেও আসলে একটি সাধারণ প্যাটার্ন (আইএসপি, ফোন ক্যারিয়ার, ট্রান্সপোর্টস, ইত্যাদি)।


5

আমার কাছে একমাত্র সবচেয়ে গুরুত্বপূর্ণ সমস্যাটি হ'ল মাভেন, যখন সঠিকভাবে কনফিগার করা হয়নি, পুনরায় পুনর্বারযোগ্য বিল্ড উত্পাদন করতে পারে না:

  • অবিশ্বাস্য দূরবর্তী সংগ্রহস্থল;
  • SNAPSHOT সংস্করণ বা কোনও সংস্করণ সহ প্লাগইন এবং লাইব্রেরিতে নির্ভরতা।

এটি একটি পিঁপড়া বিল্ডের সাথে বিপরীতে করুন - যদিও ভারবস এবং ক্লান্তিকর আইএমও - যেহেতু সমস্ত জার স্থানীয়ভাবে চেক করা হয়।

ভাল অংশটি হ'ল সমস্যাগুলি সমাধানযোগ্য:

  • আপনার নিজের মাভেন সংগ্রহশালা ব্যবহার করুন, যা মৃত সরল হয়ে উঠেছে, আমি আর্কিভা ব্যবহার করছি ভাল ফলাফল সহ;
  • সর্বদা সঠিকভাবে আপনার নির্ভরতা সংস্করণ। ম্যাভেন 2.0-2.0 বা 2.0.9 দিয়ে সুপার-পওমে প্লাগইন সংস্করণগুলি লকডাউন শুরু করেছে এবং আপনার সমস্ত নির্ভরতা প্রকাশিত সংস্করণগুলিতে হওয়া উচিত।

বিকল্প সংগ্রহস্থল প্রয়োগের সাথে সংযোগের জন্য +1।
ডোনাল ফেলো

5

দুর্দান্ত ধারণা - দুর্বল বাস্তবায়ন।

আমি সম্প্রতি এন্ট থেকে মাভেনে একটি প্রকল্প সরিয়েছি। এটি শেষের দিকে ভালভাবে কাজ করেছে, তবে আমাকে একই পোমে ম্যাভেন-এসেম্বলি-প্লাগইন এবং মাভেন-জার-প্লাগইন দুটি ভিন্ন সংস্করণ ব্যবহার করতে হয়েছিল (দুটি প্রোফাইল পেয়েছে) কারণ একটি সংস্করণে যা কাজ করা হয়েছিল তা অন্যটিতে নষ্ট হয়ে গিয়েছিল।

সুতরাং এটি বেশ মাথা ব্যথা ছিল। ডকুমেন্টেশন সবসময় দুর্দান্ত হয় না তবে আমার অবশ্যই স্বীকার করতে হবে যে এটি গুগল উত্তরগুলির তুলনায় তুলনামূলক সহজ ছিল।

আপনি সর্বদা ব্যবহার করেন এমন প্লাগিংয়ের সংস্করণ নির্দিষ্ট করেছেন তা নিশ্চিত করুন। আশা করবেন না যে নতুন সংস্করণ পিছনের দিকে সামঞ্জস্যপূর্ণ হবে।

আমি মনে করি বিতর্কটি এই সত্য থেকেই আসে যে ম্যাভেন এখনও বিকশিত হয় এবং প্রক্রিয়াটি কখনও কখনও যন্ত্রণাদায়ক হয়।

শ্রদ্ধা

v।


আমি সম্মত হই যে ধারণাটি কার্যকর করার চেয়ে ভাল। এটি তাদের প্রতিরক্ষার পক্ষে নেওয়া কোনও ছোট্ট কাজ নয়, তবে আমি নিয়মিত ভাবছি যে জিনিসগুলি আরও সোজাসাপ্টা ফ্যাশনে করা যেত না।
ইলকো

5

আমি মাভেন পছন্দ করি। আমি এটি 1.0 পূর্ব থেকে ব্যবহার করেছি। এটি একটি শক্তিশালী সরঞ্জাম যা ভারসাম্য বজায় রেখে আমাকে যথেষ্ট পরিমাণে সময় বাঁচিয়েছে এবং আমার উন্নয়নের অবকাঠামোগত উন্নতি করেছে। তবে কিছু লোকের হতাশা আমি বুঝতে পারি। আমি হতাশা 3 ধরণের দেখতে:

  1. যেখানে কারণগুলি আসল উদ্বেগ (যেমন ভার্জোজ পিওএম, ডকুমেন্টেশনের অভাব),
  2. কিছু ভুল তথ্য রয়েছে (উদাঃ "আপনার নির্মাণের জন্য ইন্টারনেট সংযোগ থাকতে হবে" - সত্য নয় - এটি এড়ানো যায়),
  3. এর কিছুটি মাভেনের দিকে চালিত হয় তবে সত্যিকার অর্থেই অন্য কেউ দোষী ("মেসেঞ্জারে গুলি করবেন না")।

প্রথম ক্ষেত্রে, আসল সমস্যাগুলি - ভাল, অবশ্যই, সমস্যা আছে, পিওএমগুলি ভার্ভোজ, ডকুমেন্টেশন আরও ভাল হতে পারে। তবুও এটি সত্ত্বেও, দ্রুত সময়ে ম্যাভেনের সাথে ভাল ফলাফল পাওয়া সম্ভব। আমি প্রতিবার পিঁপড় দিয়ে তৈরি একটি প্রকল্প পেয়েছি, এবং এটি আমার আইডিইতে আমদানির চেষ্টা করব। ডিরেক্টরি কাঠামো সেট আপ করতে এটি দীর্ঘ সময় নিতে পারে। ম্যাভেনের সাথে, এটি আইডিইতে পম ফাইলটি খোলার কেবল একটি ঘটনা।

দ্বিতীয় ক্ষেত্রে, মাভেন জটিল এবং ভুল বোঝাবুঝি সাধারণ place ম্যাভেন 3 যদি এই জটিলতা (বা এমনকি অনুভূত জটিলতা) মোকাবিলার কোনও উপায় খুঁজে বের করতে পারে তবে এটি ভাল। ম্যাভেন একটি যথেষ্ট বিনিয়োগ নেয়, তবে আমার অভিজ্ঞতায় বিনিয়োগটি নিজের জন্য দ্রুত অর্থ প্রদান করে।

শেষ পয়েন্টের জন্য, আমি মনে করি মাভেনের ট্রানজিটিভ নির্ভরতা সম্পর্কে গ্রিপ সম্ভবত সেরা পরিচিত উদাহরণ।

ট্রানজিটিভ নির্ভরতা হ'ল রিয়েল সফটওয়্যার নিয়োগের পুনরায় ব্যবহারের প্রকৃতি। উইন্ডোজ ডিএলএলস, দেবিয়ান প্যাকেজস, জাভা প্যাকেজগুলি, ওএসজিআই বান্ডিল এমনকি সি ++ শিরোলেখ ফাইলটিতে সকলের নির্ভরতা রয়েছে এবং নির্ভরতা সমস্যার সম্মুখীন হয়। যদি আপনার দুটি নির্ভরশীলতা থাকে এবং প্রতিটি একই জিনিসটির একটি আলাদা সংস্করণ ব্যবহার করে তবে আপনাকে সেটিকে কোনওভাবে সমাধান করার চেষ্টা করতে হবে। মাভেন নির্ভরতা সমস্যার সমাধান করার চেষ্টা করেন না, বরং তা সামনে নিয়ে আসে, এবং সমস্যাগুলি পরিচালনা করতে সহায়তা করার জন্য সরঞ্জাম সরবরাহ করে যেমন সংঘর্ষগুলি প্রতিবেদন করে এবং প্রকল্পগুলির শ্রেণিবদ্ধের জন্য ধারাবাহিক নির্ভরতা সরবরাহ করে এবং বাস্তবে সম্পূর্ণ নিয়ন্ত্রণ প্রদান করে control একটি প্রকল্পের নির্ভরতা।

প্রতিটি প্রকল্পের সাথে ম্যানুয়ালি নির্ভরতা অন্তর্ভুক্ত করার পদ্ধতির (একটি পোস্টার বলছে যে তিনি উত্স নিয়ন্ত্রণে সমস্ত নির্ভরতা যাচাই করেছেন) ভুল নির্ভরতা ব্যবহারের ঝুঁকি চালাচ্ছে, যেমন কোনও লাইব্রেরি যখন নির্ভরতাগুলির জন্য আপডেটগুলি পরীক্ষা না করে আপডেট করা হয় তখন উপেক্ষিত আপডেটগুলি। যে কোনও আকারের প্রকল্পের জন্য, নির্ভরতা ম্যানুয়ালি পরিচালনা করা অবশ্যই ত্রুটির দিকে পরিচালিত করবে। মাভেনের সাহায্যে আপনি যে লাইব্রেরি সংস্করণটি ব্যবহার করেন তা আপডেট করতে পারেন এবং সঠিক নির্ভরতা অন্তর্ভুক্ত রয়েছে। পরিবর্তন পরিচালনার জন্য, আপনি নির্ভরতার পুরানো সেটটিকে (আপনার সামগ্রিক প্রকল্পের জন্য) নতুন সেটটির সাথে তুলনা করতে পারেন এবং যে কোনও পরিবর্তন সতর্কতার সাথে যাচাই, পরীক্ষা করা যেতে পারে etc.

ম্যাভেন নির্ভরতা সমস্যার কারণ নয়, তবে এটি আরও দৃশ্যমান করে তোলে। নির্ভরতা সম্পর্কিত সমস্যাগুলি মোকাবেলায় ম্যাভেন কোনও নির্ভরতা "টুইট "কে স্পষ্ট করে তোলে (আপনার পিওএমের উপর নির্ভরশীলতা ওভাররাইড করে এমন একটি পরিবর্তন) যা ভার্সন নিয়ন্ত্রণে ম্যানুয়ালি ম্যানেজড জারগুলির ক্ষেত্রে হয়, যেখানে জারগুলি কেবল উপস্থিত থাকে, কিছুই নেই with সমর্থন আবহাওয়া তারা সঠিক নির্ভরতা বা না।


5

আমি বিশ্বাস করি যে মাভেনের খারাপ প্রতিক্রিয়া রয়েছে কারণ বেশিরভাগ প্রতিরোধকারীরা মাভেন + হাডসন + সোনার সংমিশ্রণটি পর্যবেক্ষণ করেন নি । যদি তাদের থাকে, তারা জিজ্ঞাসা করবে "আমি কীভাবে শুরু করব"?


সোনার উল্লেখ করার জন্য +1।
ডোনাল ফেলো

4
আমি এটা দেখেছি. মাভেন ব্যবহার করার কোনও কারণ এখনও নেই। হাডসন এবং সোনার মেভেনের দরকার নেই।
rk2010

5

মাভেনের সাথে আমার পোষা প্রাণীগুলির কিছু উঁচু

  • এক্সএমএল সংজ্ঞাটি সুপার আনাড়ি এবং শব্দভাণ্ডার। তারা কি কখনও গুণাবলী শুনেছেন?

  • এর ডিফল্ট কনফিগারেশনে, এটি প্রতিটি ক্রিয়াকলাপে সর্বদা 'নেট' স্কোর করে। এটি যে কোনও কিছুর জন্য কার্যকর কিনা তা নির্বিশেষে, "পরিষ্কার" এর জন্য ইন্টারনেট অ্যাক্সেসের প্রয়োজন চূড়ান্ত বলে মনে হয়।

  • আবার ডিফল্টরূপে, যদি আমি সঠিক সংস্করণ নম্বরগুলি নির্দিষ্ট করতে যত্নবান না হই তবে এটি নতুনতম সংস্করণগুলি নির্ভর করে যা নেট থেকে নিখুঁত আপডেটগুলি টানবে, নির্বিশেষে এই নতুন সংস্করণগুলি নির্ভরতা ত্রুটি প্রবর্তন করে কিনা। অন্য কথায়, আপনি অন্য ব্যক্তির নির্ভরতা পরিচালনার করুণায় রয়েছেন।

  • এই সমস্ত নেটওয়ার্ক অ্যাক্সেসের সমাধান হ'ল -oবিকল্পটি যুক্ত করে এটিকে বন্ধ করা । আপনি যদি নির্ভরতা আপডেট করতে চান তবে আপনি এটি বন্ধ রাখতে হবে!

  • আর একটি সমাধান হ'ল নির্ভরতাগুলির জন্য আপনার নিজের "উত্স নিয়ন্ত্রণ" সার্ভারটি ইনস্টল করা। আশ্চর্য: বেশিরভাগ প্রকল্পের ইতিমধ্যে সোর্স নিয়ন্ত্রণ রয়েছে, কেবলমাত্র কোনও অতিরিক্ত সেটআপ ছাড়াই এটি কাজ করে!

  • ম্যাভেন বিল্ডগুলি অবিশ্বাস্যরকম ধীর। নেটওয়ার্ক আপডেটের সাথে ফিডিং এটিকে হ্রাস করে তবে ম্যাভেন বিল্ডগুলি এখনও ধীর। এবং ভয়াবহ ভার্বোস।

  • ম্যাভেন প্লাগইন (M2Eclipse) সবচেয়ে খারাপভাবে ইগ্রিপসের সাথে সংহত করে। গ্রহনটি ভার্সন নিয়ন্ত্রণ সফ্টওয়্যার এবং পিপীলিকার সাথে যুক্তিসঙ্গতভাবে সুসংহত করে। ম্যাভেন ইন্টিগ্রেশন তুলনা করে খুব চতুর এবং কুরুচিপূর্ণ। আমি কি ধীর উল্লেখ করেছি?

  • মাভেন বগী হতে থাকে। ত্রুটি বার্তাগুলি সাহায্যহীন। অনেকগুলি বিকাশকারী এতে ভোগ করছেন।


4
আমি কখনই কোনও এসএনএপশট নির্ভরতা ব্যবহার না করে বা কোনও নতুন বৈশিষ্ট্য যুক্ত না করে যা কিছু প্রয়োজন হয় না এমনটি না থাকলে মাভেনকে কখনই নির্ভরতা থেকে দূরে রাখেনি। আমি যদি 1.2.3 সংস্করণটির জন্য জিজ্ঞাসা করি এবং আমার স্থানীয় সংগ্রহস্থলটিতে আমার কাছে 1.2.3 রয়েছে তবে আমি আবার 1.2.3 পাব না।
মাইক কর্নেল

4
আপনি আপনার সরাসরি নির্ভরতা নিয়ন্ত্রণ করুন, হ্যাঁ। আপনার নির্ভরতাগুলির নির্ভরতা কে নিয়ন্ত্রণ করে?
কার্ল স্মট্রিক্জ

আপনার প্রথম বৈশিষ্ট্যের জন্য, গুণাবলী সম্পর্কে,
আগামিতে

@ মিজমো: এটি অত্যন্ত স্বাগতম। তথ্যের জন্য ধন্যবাদ!
কার্ল স্মট্রিক্জ

4

ভাল প্রশ্ন. আমি সবেমাত্র একটি বিশাল প্রকল্পের কাজ শুরু করেছি এবং পূর্ববর্তী প্রকল্পগুলির একটি অংশ ছিল আমাদের কোড-বেসের সাথে মডুলারিটি প্রবর্তন করা।

আমি ম্যাভেন সম্পর্কে খারাপ জিনিস শুনেছি। আসলে, আমি যা শুনেছি সবই এটি। আমরা বর্তমানে নির্ভরশীল দুঃস্বপ্নের সমাধান করার জন্য এটি প্রবর্তনের দিকে তাকিয়েছিলাম। মাভেনের সাথে আমি যে সমস্যাটি দেখেছি তা হ'ল এটি এর কাঠামোর দিক থেকে বেশ অনমনীয়, অর্থাত এটি আপনার কাজের জন্য এটির প্রকল্পের বিন্যাসটি মেনে চলতে হবে।

আমি জানি বেশিরভাগ লোকেরা কী বলবেন - আপনাকে কাঠামোর সাথে মানিয়ে নিতে হবে না। সত্যই এটি সত্য তবে আপনি এটি জানতে পারবেন না যতক্ষণ না আপনি প্রাথমিক শেখার বক্ররেখার উপরে চলে যাবেন আপনি যে সময়ে খুব বেশি সময় বিনিয়োগ করেছেন এবং সমস্ত কিছু ফেলে দিতে পারেন।

পিপড়া আজকাল প্রচুর ব্যবহৃত হয়, এবং আমি এটি পছন্দ করি। এটিকে বিবেচনায় নিয়ে আমি অ্যাপাচি আইভি নামে পরিচিত একটি পরিচিত পরিচিত নির্ভরতা ব্যবস্থাপককে হোঁচট খেয়েছিলাম । আইভী পিঁপড়ায় খুব ভালভাবে একীভূত হয় এবং বেসিক জেআর পুনরুদ্ধার সেটআপ এবং কাজ করা এটি দ্রুত এবং সহজ। আইভির আরেকটি সুবিধা হ'ল এটি অত্যন্ত শক্তিশালী তবে বেশ স্বচ্ছ; আপনি scp বা ssh এর মতো প্রক্রিয়া ব্যবহার করে বিল্ডগুলি স্থানান্তর করতে পারেন খুব সহজে; ফাইল সিস্টেম বা দূরবর্তী সংগ্রহস্থলের উপর 'চেইন' নির্ভরতা পুনরুদ্ধার (ম্যাভেন রেপো সামঞ্জস্যতা এর জনপ্রিয় বৈশিষ্ট্যগুলির মধ্যে একটি)।

এগুলি সমস্তই বলেছিল, শেষ পর্যন্ত আমি এটি ব্যবহার করতে খুব হতাশাবোধ পেয়েছি - ডকুমেন্টেশনটি পুরোপুরি, তবে এটি খারাপ ইংরেজিতে লেখা হয়েছে যা ভুল হয়েছে তা ডিবাগ করার সময় বা কাজ করার চেষ্টা করার সময় হতাশাকে আরও বাড়িয়ে তুলতে পারে।

আমি এই প্রকল্পের সময় এক পর্যায়ে অ্যাপাচি আইভির সাথে দেখা করতে যাচ্ছি এবং আমি আশা করি এটি সঠিকভাবে কাজ করবে। এটি একটি কাজ করেছিল তা হ'ল একটি দল হিসাবে আমাদের কী লাইব্রেরিগুলির উপর নির্ভরশীল তা কাজ করার অনুমতি দেওয়া এবং একটি ডকুমেন্টেড তালিকা পেতে।

পরিশেষে আমি সব কিভাবে আসে নিচে মনে আপনি একজন ব্যক্তি / দল এবং কি হিসেবে কাজ আপনি আপনার নির্ভরতা সমস্যাগুলির সমাধান করা প্রয়োজন।

আইভির সাথে সম্পর্কিত নীচের সংস্থানগুলি আপনি খুঁজে পেতে পারেন:


4
আইভী ম্যাভেনের সাথে প্রতিযোগিতা করে না (ম্যাভেন অ্যান্ট টাস্কগুলির সাথে, তবে ম্যাভেনের সাথে নয়)।
পাস্কাল থিভেন্ট

4
আইভি মাভেন পিঁপড়া টাস্কগুলির সাথে প্রতিযোগিতা করে না, এটি ম্যাভেন নির্ভরতা পরিচালনার সাথে প্রতিযোগিতা করে।
দামিয়েন বি

@ এটসি এটা ঠিক ছিল !! : "আমি জানি বেশিরভাগ লোকেরা কী বলবেন - আপনাকে কাঠামোর সাথে সামঞ্জস্য করতে হবে না। সত্যিই এটি সত্য তবে আপনি প্রাথমিক শিক্ষার বক্ররেখার উপর নির্ভর না করে আপনি এই মুহূর্তে জানেন না যে আপনি খুব বেশি সময় বিনিয়োগ করেছেন। যেতে এবং এটি সব ফেলে দিতে। "
rk2010

4

আমি মাভেনকে ভালবাসি - এটি উত্পাদনশীলতা বাড়ায় এবং আমি খুব আনন্দিত যে আমি আর পিঁপড়া (ভাঁজা) ব্যবহার করছি না

তবে আমি যদি জিনিসগুলিকে পরিবর্তন করতে পারি তবে তা হ'ল:

  1. pom.xmlফাইল কম ভার্বোস তৈরি করুন
  2. ভাণ্ডার থেকে নয়। জারগুলি অন্তর্ভুক্ত করা সহজ করুন।

4
আমি মনে করি যে স্থানীয় রেপোজিটরিগুলিতে আইডিইগুলি অনুপস্থিত বা তৃতীয় পক্ষের জারগুলি আমদানির জন্য অনুমতি দেওয়ার মাধ্যমে মাভেন ব্যবহারকারীরা আরও ভাল পরিবেশন করতে পারেন। "পিক জার ক্লিক আমদানি করুন" ডায়ালগ বক্সটি পাওয়া কতটা কঠিন হবে?
সাল

@ সাল আমার অনুমান যে মাভেন বহনযোগ্যতা ভঙ্গ করে এমন একটি অনুশীলন প্রচার করতে চান না।
পাস্কাল থিভেন্ট

4
আমি এটিকে বিবেচনা করি যে এলোমেলো জায়গা থেকে জারগুলি যুক্ত করা শক্ত হওয়া হিসাবে যুক্ত করা শক্ত। আপনি যদি একটি দলের পরিবেশে থাকেন এবং আপনার যদি একটি বিজোড় জার ব্যবহার করা প্রয়োজন তবে আপনার সেই জারটি আপনার দলের মেভেন রেপোতে স্থাপন করা উচিত। এইভাবে, দলের বাকি সদস্য এবং আপনার সিআই সার্ভার একই বিল্ড সম্পাদন করবে। প্রত্যেকে একই বিল্ড চালায় এটি খাঁটি দর্শনের একটি ভিত্তি।
3:56 টুনারঞ্চ

জার জিনিস জন্য +1। কোনও বিল্ডে নিজের প্রাক-বিল্ট জারগুলি আনা (কোনও কারণেই) অনিচ্ছাকৃত ব্যথা।
থরবজর্ন রাভন অ্যান্ডারসন

@ ভাগ্যরঞ্চ ব্যক্তিগতভাবে আমি পছন্দ করি যে উভয় স্টাফ মাভেন সেন্ট্রালে রয়েছে বা এটি (জারস এবং সমস্ত) সংস্করণ নিয়ন্ত্রণ থেকে যাচাই করা হচ্ছে in মূলত আমি একটি ইউএসবি-ড্রাইভে আমার গিট সংগ্রহস্থল আনতে, এটি পরীক্ষা করে দেখতে, "এমভিএন ক্লিন ইনস্টল" চালাতে এবং মধ্যাহ্নভোজনে যেতে এবং চালিয়ে যেতে সক্ষম হতে চাই।
থরবজর্ন রাভন অ্যান্ডারসন

4

লোকেরা মাভেনকে পছন্দ না করার জন্য অনেকগুলি কারণ রয়েছে তবে এটির মুখোমুখি হোন তারা খুব সাবজেক্টিভ । ম্যাভেন আজ কয়েকটি ভাল (এবং বিনামূল্যে) বই, আরও ভাল ডকুমেন্টেশন, প্লাগইনের বিজার সেট এবং প্রচুর রেফারেন্সিয়াল সাফল্যময় প্রকল্প তৈরি করেছে যা এক বা দু'বছর আগে যেমন ছিল তেমন ম্যাভেন নয়।

মাভেনকে সাধারণ প্রকল্পগুলিতে ব্যবহার করা খুব সহজ, বৃহত্তর / জটিলগুলির সাথে মাভেন দর্শনের আরও জ্ঞান এবং গভীর বোঝার প্রয়োজন রয়েছে - সম্ভবত সংস্থার স্তরে নেটওয়ার্ক অ্যাডমিনের মতো মাভেন গুরুর জন্য একটি অবস্থান রয়েছে। মাভেনের ঘৃণ্য স্ট্যাটাসের মূল উত্স প্রায়ই অজ্ঞতা থাকে

মাভেনের আর একটি নিগল হ'ল পিঁপড়ের মতো নমনীয়তার অভাব। তবে স্মরণকৃত মাভেন কনভেনশনস সেট করেছেন - তাদের কাছে লেগে থাকা মনে করা খুব কঠিন বলে মনে হয় তবে শেষ পর্যন্ত প্রায়শই সমস্যা থেকে বাঁচায়।

মাভেনের বর্তমান সাফল্য এর মান প্রমাণ করে। অবশ্যই কেউ নিখুঁত নয় এবং মাভেনের কিছু বিপর্যয় এবং এর কৌতুক আছে তবে আমার মতে মাভেন আস্তে আস্তে তার বিরোধীদের দমন করেছেন।


@প্যাসকেল. মাভেনের ক্ষেত্রে যদি একটি স্ট্যাকওভারফ্লো থাকে এবং আপনি এখানে থাকেন :)
সিটনার

3

আমি এটি বলব না যে এটির খুব খারাপ মিশ্রণ রয়েছে কারণ এটির একটি মিশ্র প্রতিনিধি রয়েছে। যদি আপনার প্রকল্পটি মাভেনের পক্ষ থেকে উকিল করা "কনভেনশন ওভার কনফিগারেশন" দৃষ্টান্ত অনুসরণ করে তবে আপনি এ থেকে অনেকগুলি লাভ পেতে পারেন। যদি আপনার প্রকল্পটি মাভেনের বিশ্ব দর্শনে ভালভাবে ফিট না করে তবে এটি বোঝা হয়ে উঠতে পারে।

সে লক্ষ্যে যদি আপনার এই প্রকল্পের নিয়ন্ত্রণ থাকে তবে মাভেনের পথ চলতে পারে। তবে যদি আপনি না করেন এবং লেআউটটি মাভেনের অনুরাগী নয় এমন কেউ দ্বারা নির্ধারিত হয়, তবে এটির মূল্যটি এর চেয়ে বেশি সমস্যা হতে পারে। সবচেয়ে সুখী মাভেন প্রকল্পগুলি সম্ভবত সেগুলি ম্যাভেন প্রকল্প হিসাবে শুরু হয়েছিল।


"আমি এটির বলব না যে এটির খুব খারাপ মিশ্রণ রয়েছে কারণ এটি একটি মিশ্র প্রতিনিধি রয়েছে" - আমি বলব এটি সম্ভবত আরও সঠিক, কেবল নেতিবাচক মতামতই বেশি আঁকড়ে ঝোঁক।
ড্যান

আমি সম্মত হই যে প্রকল্পের আকারের তুলনায় পরীক্ষামূলকভাবে তুলনামূলকভাবে অসুবিধা বৃদ্ধি করতে একটি প্রকল্পের পোর্টিং করা (আমদানিতে বড় প্রকল্প = শক্ত আমদানি)। কোন প্রকল্প শুরু করতে মাভেন ব্যবহার করা মভেন ব্যবহারের সর্বোত্তম পন্থা। অন্যথায় এটি চেষ্টা করার উপযুক্ত নাও হতে পারে।
লুইগিম্যাক্স

3

আমার কাছে, বাড়ির প্রকল্পগুলির জন্য মাভেন বনাম পিঁপড়াকে ব্যবহার করার পক্ষে মতামত রয়েছে pros ওপেন সোর্স প্রকল্পগুলির জন্য, আমি মনে করি অনেক প্রকল্পগুলি নির্মাণ করা সহজ করার ক্ষেত্রে মাভেনের দুর্দান্ত প্রভাব পড়েছিল। এটি খুব বেশি আগে হয়নি যে কয়েক ঘন্টা গড় ওএসএস জাভা (পিঁপড়া ভিত্তিক) প্রকল্পটি সংকলন পেতে, এক টন ভেরিয়েবল সেট করে, নির্ভর প্রকল্পগুলি ডাউনলোড করা ইত্যাদি সময় লাগে hours

আপনি মাউন্টের সাথে কিছু করতে পারেন যা আপনি পিঁপড়ার সাথে করতে পারেন, কিন্তু যেখানে পিঁপড়া কোনও মানদণ্ডকে উত্সাহিত করে না, মাভেন দৃ it's়ভাবে আপনাকে এর কাঠামোটি অনুসরণ করার পরামর্শ দেয়, বা এটি আরও কাজ করবে। সত্য, কিছু জিনিস ম্যাভেনের সাথে সেট আপ করার জন্য একটি ব্যথা যা পিঁপড়ের সাথে করা সহজ,


3

আপনি যদি কোনও উন্নয়ন প্রকল্পে আপনার ব্যবসা বা চাকুরী বাজি ধরতে চলেছেন তবে আপনি ভিত্তি - অর্থাৎ বিল্ড সিস্টেমের নিয়ন্ত্রণে থাকতে চান। মাভেনের সাথে, আপনি নিয়ন্ত্রণে নেই। এটি ঘোষণামূলক এবং অস্বচ্ছ। খাঁটি-কাঠামো বিকাশকারীদের কোনও স্বচ্ছ বা স্বজ্ঞাত সিস্টেম কীভাবে তৈরি করা যায় সে সম্পর্কে কোনও ধারণা নেই এবং এটি লগ আউটপুট এবং ডকুমেন্টেশন থেকে পরিষ্কার।

নির্ভরতা ব্যবস্থাপনা খুব লোভনীয় যেহেতু প্রকল্পের শুরুতে এটি আপনাকে কিছুটা সময় দিতে পারে তবে সতর্ক হতে হবে, এটি মূলত ভেঙে গেছে এবং শেষ পর্যন্ত আপনাকে প্রচুর মাথা ব্যথার কারণ করবে। যখন দুটি নির্ভরশীলতার সাথে সামঞ্জস্যহীন ক্ষণস্থায়ী নির্ভরতা থাকে আপনি ইঁদুরের জটিলতার নীড় দ্বারা আটকে থাকবেন যা আপনার পুরো টিমের জন্য কাঠামো ভেঙে দেবে এবং কয়েক দিনের জন্য ব্লক বিকাশ করবে। মাভেনের সাথে বিল্ড প্রক্রিয়াটি আপনার টিমের বিভিন্ন বিকাশকারীদের স্থানীয় সংগ্রহস্থলগুলির অসঙ্গতিপূর্ণ অবস্থার কারণে কুখ্যাতভাবে বেমানান। কখন কোনও বিকাশকারী তাদের পরিবেশ তৈরি করেছে বা অন্যান্য কোন প্রকল্পে তারা কাজ করছে তার উপর নির্ভর করে তাদের আলাদা ফলাফল হবে। আপনি দেখতে পাবেন যে আপনি আপনার সম্পূর্ণ স্থানীয় সংগ্রহস্থান মুছছেন এবং মাভেন কোনও দেব শাখার জন্য প্রথমবারের সেটআপের চেয়ে বেশি বার পুনরায় ডাউনলোড করবেন। আমি বিশ্বাস করি ওএসজিআই এমন একটি উদ্যোগ যা এই মৌলিক সমস্যাটি সমাধান করার চেষ্টা করছে। আমি বলব যে যদি কোনও কিছু এত জটিল হওয়ার দরকার হয় তবে মৌলিক ভিত্তিটি ভুল।

আমি এখন ৫ বছরেরও বেশি সময় ধরে একজন খাঁটি ব্যবহারকারীর শিকার / শিকার হয়েছি এবং আমাকে বলতে হবে যে এটি কেবল আপনার উত্স ভান্ডারে আপনার নির্ভরতাগুলি পরীক্ষা করতে এবং সুন্দর এবং সাধারণ পিঁপড়ার কাজগুলি লেখার জন্য আপনাকে আরও অনেক বেশি সময় সাশ্রয় করবে। পিঁপড়ের সাহায্যে, আপনি জানেন আপনার বিল্ড সিস্টেমটি কী করছে।

মাভেন সমস্যার কারণে আমি বিভিন্ন, বিভিন্ন কোম্পানিতে সপ্তাহের অনেক সময়, অনেক লোককে হারিয়েছি experienced

আমি সম্প্রতি একটি পুরানো জিডব্লিউটি / মাভেন / এক্সলিপস প্রকল্পটি পুনরুদ্ধার করার চেষ্টা করেছি এবং আমার সমস্ত অতিরিক্ত সময় 2 সপ্তাহ পরে রেখেছি, আমি এখনও এটি ধারাবাহিকভাবে নির্মাণ করতে পারি না। আমার ক্ষতিগুলি কমাতে এবং আমার মনে হয় পিপীলিকা / গ্রহণের সাহায্যে বিকাশের সময় ...


3

সংক্ষিপ্ত উত্তর: আমি একটি ম্যাভেন বিল্ড সিস্টেম বজায় রাখা খুব কঠিন পেয়েছি এবং আমি যত তাড়াতাড়ি সম্ভব গ্রেডলে স্যুইচ করতে চাই।

আমি চার বছরেরও বেশি সময় ধরে মাভেনের সাথে কাজ করছি। আমি নিজেকে বিল্ড সিস্টেমের বিশেষজ্ঞ বলব কারণ সর্বশেষে (কমপক্ষে) পাঁচটি প্রতিষ্ঠানে আমি এসেছি, আমি বিল্ডিং / অবকাঠামো স্থাপনের উপর বড় সংস্কার করেছি।

আমি শিখেছি কিছু পাঠ:

  • বেশিরভাগ বিকাশকারীগণ বিল্ড সিস্টেমগুলি সম্পর্কে চিন্তাভাবনা করে অনেক সময় ব্যয় করবেন না; ফলস্বরূপ, বিল্ডটি হ্যাকগুলির একটি স্প্যাগেটি জগাখিচায় পরিণত হয়, তবে যখন এই জগাখিচুড়ি পরিষ্কার হয়ে যায় এবং যুক্তিযুক্ত হয় তখন তারা তাদের প্রশংসা করে।
  • জটিলতার সাথে মোকাবিলা করার ক্ষেত্রে আমার পরিবর্তে একটি স্বচ্ছ ব্যবস্থা থাকবে যা ম্যাভেনের মতো কঠোর বিধিনিষেধ আরোপ করে জটিল জিনিসগুলিকে সহজ করে তোলার চেষ্টা করার চেয়ে জটিলতা (পিঁপড়ের মতো) প্রকাশ করে exp লিনাক্স বনাম উইন্ডোজ সম্পর্কে চিন্তা করুন।
  • মাভেনের কার্যকারিতাটিতে প্রচুর গর্ত রয়েছে যার জন্য বাইজেন্টাইন ওয়ার্কআউন্ডস প্রয়োজন। এটি পিওএম ফাইলগুলিকে নিয়ে যায় যা অপ্রয়োজনীয় এবং অকল্পনীয়।
  • পিপীলিকা অত্যন্ত নমনীয় এবং বোধগম্য, তবে পিপড়া ফাইলগুলি খুব বড় আকার ধারণ করতে পারে কারণ এটি এত নিম্ন স্তরের।
  • যে কোনও তাত্পর্যপূর্ণ প্রকল্পের জন্য, বিকাশকারীগণ সরঞ্জাম সরবরাহ করে তার বাইরে নিজস্ব বিল্ড / স্থাপন কাঠামো তৈরি করতে হবে; প্রকল্পের কাঠামোর উপযুক্ততা বজায় রাখা কতটা সহজ তার সাথে অনেক কিছু করার আছে। সেরা সরঞ্জামগুলি একটি কাঠামো তৈরিতে আপনাকে সমর্থন করবে এবং আপনার সাথে লড়াই করবে না।

আমি গ্র্যাডলকে কিছুটা দেখেছি এবং দেখে মনে হচ্ছে এটি উভয় বিশ্বের সেরা হওয়ার সম্ভাবনা রয়েছে, এটি ঘোষণামূলক এবং পদ্ধতিগত বিল্ড বিবরণের মিশ্রণকে মঞ্জুরি দেয়।


3

আপনি আপনার প্রকল্পটি লেখার জন্য যে ভাষাটি ব্যবহার করেছিলেন তা তার চেয়ে জটিল। এটি সঠিকভাবে কনফিগার করা প্রকৃত প্রোগ্রামিংয়ের চেয়ে শক্ত।


3

আমি এখানে উল্লিখিত বেশিরভাগ / সমস্ত নেতিবাচকতা এবং সতীর্থদের অনুরূপ আপত্তিগুলির মধ্যে দিয়ে লড়াই করেছি এবং তাদের সকলের সাথে একমত হয়েছি। তবে আমি এটিকে আটকে রেখেছি এবং কেবলমাত্র মাভেন (বা গ্রেড সম্ভবত) সত্যিকার অর্থে সরবরাহ করে এমন এক উদ্দেশ্যে দৃ firm়ভাবে ধরে এই কাজটি চালিয়ে যাব।

আপনি যদি সমবয়সীদের (ওপেন সোর্স বিকাশকারী ) জন্য অনুকূলিত হন , পিপীলিকা / মেক / যা কিছু করবে। যদি আপনি নন- পিয়ারগুলিতে ( ব্যবহারকারীদের ) কার্যকারিতা সরবরাহ করে থাকেন তবে কেবল মেভেন / গ্রেডেল / ইত্যাদি করবে।

কেবলমাত্র মেভেন আপনাকে একটি ভাল ডকুমেন্টেড স্ট্যান্ডার্ড প্রজেক্ট লেআউট সহ সোর্স কোড + পমস (কোনও এম্বেডড লিবিব / বাইনারি নির্ভরশীল জারস এবং কোনও নির্ভরতার তথ্য নেই) একটি ছোট বান্ডিল প্রকাশ করতে দেয় যা কোনও আইডিই দ্বারা শোষিত হয়নি তার দ্বারা লোড করা যায় বিকাশকারীদের আইডিসিঙ্ক্র্যাটিক লেআউট কনভেনশন। এবং এখানে একটি বোতাম ইনস্টল পদ্ধতি রয়েছে (এমভিএন ইনস্টল) যা হারিয়ে যাওয়া নির্ভরতা অর্জন করার সময় সবকিছু তৈরি করে।

ফলাফলগুলি এমন একটি সহজ অন র্যাম্প যা ব্যবহারকারীরা কোডটিতে তাদের উপায় খুঁজতে অনুসরণ করতে পারেন, যেখানে পোমগুলি প্রাসঙ্গিক ডকুমেন্টেশনে তাদের নির্দেশ করতে পারে।

সেই (অপরিহার্য) প্রয়োজনীয়তা বাদে আমি যতটা না কাউকে মেভেন অপছন্দ করি।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.