আমি চাই যে জারটি সোর্স কন্ট্রোলের তৃতীয় পক্ষের লিবিতে থাকুক এবং এর সাথে pom.xML ফাইলটি থেকে আপেক্ষিক পথে লিঙ্ক করব।
আপনি যদি সত্যিই এটি চান (বুঝতে পারেন, যদি আপনি কর্পোরেট ভাণ্ডার ব্যবহার করতে না পারেন), তবে আমার পরামর্শটি হবে প্রকল্পের জন্য স্থানীয় একটি "ফাইলের সংগ্রহস্থল" ব্যবহার করা এবং কোনও systemস্কোপড নির্ভরতা না ব্যবহার করা । systemবিশ্লেষণ করা এড়িয়ে চলা উচিত, এই ধরনের নির্ভরতা অনেক পরিস্থিতি ভাল কাজ করে না (যেমন সমাবেশ মধ্যে), তারা সুবিধা চেয়ে বেশি যন্ত্রণার হতে পারে।
সুতরাং, পরিবর্তে, প্রকল্পের জন্য একটি স্থানীয় সংগ্রহস্থল ঘোষণা করুন:
<repositories>
<repository>
<id>my-local-repo</id>
<url>file://${project.basedir}/my-repo</url>
</repository>
</repositories>
সেখানে ব্যবহার করে আপনার তৃতীয় পক্ষের liberal এর সংক্ষিপ্ত রূপ ইনস্টল install:install-fileসঙ্গে localRepositoryPathপরামিতি:
mvn install:install-file -Dfile=<path-to-file> -DgroupId=<myGroup> \
-DartifactId=<myArtifactId> -Dversion=<myVersion> \
-Dpackaging=<myPackaging> -DlocalRepositoryPath=<path>
আপডেট: এটি প্রদর্শিত হয় যে প্লাগইনটির ২.২ সংস্করণ ব্যবহার করার সময় তা install:install-fileউপেক্ষা করে localRepositoryPath। তবে এটি প্লাগইনের ২.৩ সংস্করণ এবং তারপরে কাজ করে। সুতরাং সংস্করণটি নির্দিষ্ট করতে প্লাগইনের সম্পূর্ণরূপে যোগ্যতাসম্পন্ন নামটি ব্যবহার করুন:
mvn org.apache.maven.plugins:maven-install-plugin:2.3.1:install-file \
-Dfile=<path-to-file> -DgroupId=<myGroup> \
-DartifactId=<myArtifactId> -Dversion=<myVersion> \
-Dpackaging=<myPackaging> -DlocalRepositoryPath=<path>
maven-ইনস্টল-প্লাগইন ডকুমেন্টেশন
শেষ অবধি, এটি অন্যান্য নির্ভরতার মতো ঘোষণা করুন (তবে systemসুযোগটি ছাড়াই ):
<dependency>
<groupId>your.group.id</groupId>
<artifactId>3rdparty</artifactId>
<version>X.Y.Z</version>
</dependency>
এই systemসুযোগটি ব্যবহার করার চেয়ে এটি আইএমএইচওর আরও ভাল সমাধান কারণ আপনার নির্ভরতা একজন ভাল নাগরিকের মতো বিবেচিত হবে (যেমন এটি কোনও সমাবেশে অন্তর্ভুক্ত করা হবে ইত্যাদি)।
এখন, আমাকে উল্লেখ করতে হবে যে কর্পোরেট পরিবেশে এই পরিস্থিতি মোকাবেলার "সঠিক উপায়" (সম্ভবত এখানে নয়) একটি কর্পোরেট সংগ্রহস্থল ব্যবহার করা হবে।
localRepositoryPath...