স্থানীয় রিপোজিটরিতে রিমোট ম্যাভেন 2 আর্টিফ্যাক্ট ডাউনলোড করার জন্য একটি সাধারণ কমান্ড লাইন?


122

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

আমি একটি "সিম্পল" ওয়ান লাইন কমান্ড ডকুমেন্ট করতে চাই যাতে তারা আমার লাইব্রেরির নিদর্শনগুলি তাদের ~/.m2/repositoryলোকালয়ে ডাউনলোড করতে পারে যাতে তারা এটি করার জন্য কোনও pom.xML সেটআপ না করেই করে।

আমি ভেবেছিলাম এটি করার একটি উপায় আছে তবে আমি install:install-fileএবং dependencyপ্লাগইন ডকুমেন্টেশনগুলি দেখার পরে এটি খুঁজে পাচ্ছি না । আমি এই জাতীয় জিনিস চেষ্টা করেছি:

mvn install:install-file -DrepositoryId=java.net -Durl=http://download.java.net/maven/2/ -Dfile=robo-guice-0.4-20091121.174618-1.jar -DpomFile=robo-guice-0.4-20091121.174618-1.pom -DgroupId=robo-guice -DartifactId=robo-guice -Dversion=0.4-SNAPSHOT -Dpackaging=jar

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

এটি হ'ল নিদর্শনগুলি ইনস্টল করতে চাই: http://download.java.net/maven/2/robo-guice/robo-guice/0.4-SNAPSHOT/

মাভেন ব্যবহার করে এটি কি সম্ভব?



উত্তর:


168

ম্যাভেন নির্ভরতা প্লাগিনের ২.১ সংস্করণ থেকে , একটি নির্ভরতা রয়েছে: এই উদ্দেশ্যে লক্ষ্য অর্জন করুন get আপনি প্লাগইনের সঠিক সংস্করণটি ব্যবহার করছেন তা নিশ্চিত করতে আপনার "সম্পূর্ণরূপে যোগ্য নাম" ব্যবহার করতে হবে:

এমভিএন org.apache.maven.plugins: maven- নির্ভরতা-প্লাগইন: 2.1: পেতে \
    -ড্রেপোআরল = http: //download.java.net/maven/2/ \
    -Dartifact = Robo-guice: Robo-guice: 0.4-স্ন্যাপশট

কীভাবে নির্ভরতা প্লাগইন ইনস্টল করা যায় তা দেখানোর জন্য অতিরিক্ত সহায়ক।
সার্জিও আকোস্টা

2
পাস্কেল, আপনি কি আমাকে বলতে পারবেন কীভাবে ব্যবহারকারীর + পাসওয়ার্ডটি ডিপোজিটরিতে পৌঁছানোর জন্য? ব্যবহারকারীর সাথে কৌতুক : পাসওয়ার্ড @ পুনর্বার কার্যকর হয়নি।
গ্যাবার লিপটিক

4
লক্ষ্যটি দুর্দান্ত, তবে আমি যেখানে ফাইলটি অনুলিপি করতে চাই সেখানে লক্ষ্য ডিরেক্টরিটি কীভাবে সংজ্ঞায়িত করতে পারি? (এবং ফাইলের নাম)
ডমি

9
@ ডোমি (উত্তরোত্তর জন্য বিড়ম্বিত উত্তর): "-ডেস্ট = পথ / থেকে / আমার.জার" ব্যবহার করুন; অন্যথায়, এটি কেবল আপনার স্থানীয় ~ / .m2 / সংগ্রহস্থলে অনুলিপি করা হয়েছে (এটিকে দেখে মনে হচ্ছে কিছুই ঘটেনি)। দেখুন maven.apache.org/plugins/maven-dependency-plugin/... = উদাহরণ => mvn org.apache.maven.plugins: ম্যাভেন-নির্ভরতা-প্লাগইন: 2.5.1: পেতে -DremoteRepositories = repo.maven.apache.org -দারিটিফ্যাক্ট = org.apache.ant: পিপীলিকা: 1.8.1 -পরেস্ট = পিঁপড়া-1.8.1.jar (ফলাফল: বর্তমান ডিরেক্টরিতে পিপড়া -২.২.১.১.২০)
মাইকেল

3
ধন্যবাদ! যদিও, ডক আপনি যে লিংক পোস্ট করা মধ্যে, আছে Deprecated. Use remoteRepositoriesজন্য repoUrl। অনুগ্রহ করে উত্তরটি আপডেট করুন :)
উইকেন্ড

46

নির্ভরতা এবং চালনার নির্দেশাবলী হিসাবে তালিকাভুক্ত এই জারগুলির সাথে তাদের একটি তুচ্ছ পোম দিন:

mvn dependency:go-offline

এটি স্থানীয় রেপোতে নির্ভরতা টানবে।

আরও সরাসরি সমাধান হ'ল নির্ভরতা: পান , তবে এটি যুক্তি করতে অনেক যুক্তি রয়েছে:

mvn dependency:get -DrepoUrl=something -Dartifact=group:artifact:version

ভাল ধারণা, যদিও একটি কমান্ড লাইন তারা অনুলিপি-পেস্ট করতে পারে সহজ হবে
ইম্পি

আমি যদি একজনের কথা ভাবতে পারি তবে এটি পোস্ট করতাম। আমি এমন কোনও প্লাগইন জানি না যার জন্য ডাকা হয় যথেষ্ট। আমি কীভাবে লিখতে জানি ...
bmargulies

getমোজো আসলে আশা -DrepoUrl, উপস্থিত হতে না -DrepositoryUrl। যুক্তিগুলি টাইপ করার বিষয়ে, কোনও জাদু নেই, আপনাকে এই তথ্যগুলি কোনও উপায়ে বা অন্যভাবে সরবরাহ করতে হবে।
পাস্কেল থিভেন্ট

আমার প্রথম স্কিমে, শেষ ব্যবহারকারী কেবল তিনটি অক্ষর টাইপ করেন: এমভিএন। অন্যান্য সমস্ত টাইপিং অপ দ্বারা সম্পন্ন হয়।
bmargulies

22

মাভেন নির্ভরতা প্লাগইন এর ২.৪ সংস্করণ হিসাবে , আপনি -ডেস্ট ফ্ল্যাগ ব্যবহার করে নিদর্শনটির জন্য একটি লক্ষ্য গন্তব্যটিও সংজ্ঞায়িত করতে পারেন। গন্তব্য শৈল্পিকের জন্য এটি কোনও ফাইলের নাম (ডিরেক্টরি নয়) to অতিরিক্ত পরামিতি ব্যবহার করা যেতে পারে তার জন্য প্যারামিটার পৃষ্ঠাটি দেখুন

mvn org.apache.maven.plugins:maven-dependency-plugin:2.4:get \
    -DremoteRepositories=http://download.java.net/maven/2 \
    -Dartifact=robo-guice:robo-guice:0.4-SNAPSHOT \
    -Ddest=c:\temp\robo-guice.jar

2
ধন্যবাদ! -ডডেষ্টকে অবচয় হিসাবে চিহ্নিত করা হয়েছে। নতুন সমাধান কি নতুন?
দিমাথ

1
নির্ভরতা ব্যবহার করুন: পরিবর্তে লক্ষ্য অনুলিপি করুন। maven.apache.org/plugins/maven-d dependency
এরিক বি।

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