মাল্টিপ্রজেক্ট বিল্ডে প্যারেন্ট পমগুলি গঠনের বিভিন্ন উপায় রয়েছে বলে মনে হয় এবং আমি ভাবছি যে প্রতিটি উপায়ে কীভাবে সুবিধা / ত্রুটি রয়েছে সে সম্পর্কে কারও কোনও ধারণা ছিল কিনা।
প্যারেন্ট পম থাকার সহজ পদ্ধতি হ'ল এটি কোনও প্রকল্পের মূলের মধ্যে রাখা
myproject/
myproject-core/
myproject-api/
myproject-app/
pom.xml
যেখানে pom.xML হ'ল উভয়ই মূল প্রকল্প এবং সেই সাথে--কোটির -পি এবং-অ্যাপ মডিউলগুলি বর্ণনা করে
পরবর্তী পদ্ধতিটি হ'ল পিতামাতাকে তার নিজস্ব উপ-ডিরেক্টরিতে আলাদা হিসাবে আলাদা করা
myproject/
mypoject-parent/
pom.xml
myproject-core/
myproject-api/
myproject-app/
যেখানে প্যারেন্ট পমটিতে এখনও মডিউল রয়েছে তবে সেগুলি আপেক্ষিক, যেমন .. / মাইপ্রোজেক্ট- কোর
শেষ অবধি, সেখানে বিকল্প রয়েছে যেখানে মডিউল সংজ্ঞা এবং পিতামাতাকে আলাদা হিসাবে পৃথক করা হয়েছে
myproject/
mypoject-parent/
pom.xml
myproject-core/
myproject-api/
myproject-app/
pom.xml
যেখানে প্যারেন্ট পমটিতে কোনও "ভাগ করা" কনফিগারেশন রয়েছে (depend dependantagement, Properties ইত্যাদি) এবং মাইপ্রজেক্ট / pom.xML এ মডিউলগুলির তালিকা রয়েছে।
অভিপ্রায়টি হ'ল বড় আকারের বিল্ডকে স্কেলেবল করার জন্য তাই বৃহত সংখ্যক প্রকল্প এবং শিল্পকলাগুলির কাছে মাপেরযোগ্য হওয়া উচিত।
কয়েকটি বোনাস প্রশ্ন:
- উত্স নিয়ন্ত্রণ, স্থাপনা ডিরেক্টরি, সাধারণ প্লাগইন ইত্যাদির মতো বিভিন্ন ভাগ করা কনফিগারেশন সংজ্ঞায়নের সেরা স্থানটি কোথায় (আমি পিতা-মাতাকে ধরে নিচ্ছি তবে প্রায়শই আমি এটি কামড়েছি এবং তারা প্রতিটি প্রকল্পের পরিবর্তে শেষ হয়েছে) একটি সাধারণ)।
- আপনি কীভাবে আপনার মাল্টি-প্রজেক্টগুলি সেট আপ করেন (কীভাবে একটি বিশাল প্রশ্ন, কোনও মাল্টি-প্রজেক্ট বিল্ডটি কীভাবে স্থাপন করা হয়েছে তখন যখন কেউ ধরা পড়েছে তখন এটি আরও বেশি) কীভাবে মেভেন-রিলিজ প্লাগইন, হাডসন এবং নেক্সাস ডিল করবে?
সম্পাদনা করুন: উপ প্রকল্পগুলির প্রত্যেকটির নিজস্ব pom.xML রয়েছে, এটি ছড়িয়ে দেওয়ার জন্য আমি এটি রেখে দিয়েছি।