আমি কীভাবে অনেকগুলি (প্রায় 50+) মভেন 2 প্রকল্পগুলি সংগঠিত করব তা জানার চেষ্টা করছি, যাতে তারা একটি কেন্দ্রীয় নেক্সাস রিপোজিটরিতে স্থাপন করতে পারে। mvn deploy
লক্ষ্যটি ব্যবহার করার সময় , ডিস্ট্রিবিউশন ম্যানেজমেন্ট ট্যাগটিতে লক্ষ্যটি নির্দিষ্ট করা দরকার:
<distributionManagement>
<repository>
<id>nexus-site</id>
<url>http://central_nexus/server</url>
</repository>
</distributionManagement>
এখন, আমি চাই না যে প্রতিটি পিএম.এমএলএমএল (যারা 50+ এর মধ্যে) বার বার এই ব্লকটি ধারণ করে। আমার প্রথমটি যদিও settings.xml
ফাইলটি হবে তবে এটি সেখানে সংজ্ঞায়িত করা (নকশা করে) সম্ভব নয় বলে মনে হয়। সুতরাং, প্রথম প্রশ্নটি হবে, কেন এটি মামলা? যদি এটি সম্ভব হয় তবে আমি ম্যাসন 2 বিতরণে সেটিংস.এক্সএমএল-এ এটি নির্দিষ্ট করতে পারি, যা সমস্ত বিকাশকারীকে বিতরণ করা যেতে পারে।
আমি খুঁজে পেল একমাত্র সম্ভাব্য সমাধান হ'ল একটি সংস্থা-প্রশস্ত মাস্টার-পম প্রকল্প তৈরি করা, যাতে এই সেটিংস থাকে এবং অন্য সমস্ত pom.xml <parent>
ট্যাগের মাধ্যমে এই মাস্টার-পমের উপর নির্ভর করে । তবে এটি মাল্টি-মডিউল বিল্ডগুলিতে এক ধরণের অদ্ভুত দেখাচ্ছে:
- master configuration POM (pm)
- Project 1 parent pom (p1 with module 1 and module 2 as modules)
- Project 1 module pom (with pm as parent)
- Project 2 module pom (with pm as parent)
সাধারণত আমি সমস্ত ডকুমেন্টেশনে পড়েছি যে মডিউল পমগুলিকে প্যারেন্ট পম ব্যবহার করা উচিত, কিছু আলাদা নয়। কিন্তু উত্তরাধিকার বনাম সমষ্টি সম্পর্কে মভেন ওয়েবসাইটটি পড়ার পরে লেখা আছে যে এটি সত্যই সম্ভব।
আমি যে সমস্যাটি পেয়েছি তা হ'ল মেন সাইট জেনারেশনের সাথে, যা এই সেটআপটিতে সমস্যা বলে মনে হচ্ছে (মডিউলগুলি যদি সরাসরি ব্যাক-রেফারেন্স না থাকে তবে সঠিকভাবে সংযুক্ত হয় না)
সুতরাং, এটি একটি বৈধ পদ্ধতির? অন্য কোনও, আরও সুস্পষ্ট, সমস্যার সহজ সমাধান?