2011-10-12 13 views
53

क्या pom.xml फ़ाइल से निर्भरता को जावा में निर्दिष्ट फ़ोल्डर में डाउनलोड करने का कोई तरीका है? मैं जावा से मेवेन कमांड चलाने में सक्षम हूं और मुझे संदेश डाउनलोड हुए हैं, लेकिन मुझे नहीं पता कि मैवेन इन पुस्तकालयों को कहां स्टोर करता है? मैं इन निर्भरताओं को एक विशिष्ट फ़ोल्डर में कैसे डाउनलोड कर सकता हूं?केवल एक विशिष्ट निर्देशिका में जार फ़ाइलों को डाउनलोड करने के लिए मेवेन पोम का उपयोग कैसे करें?

उत्तर

88

Maven की निर्भरता प्लगइन पर एक नज़र, विशेष रूप से copy-dependencies लक्ष्य रखना। usage section वर्णन करता है कि आप वास्तव में क्या करना चाहते हैं।

कमांड लाइन से ऐसा करने के लिए

सिर्फ कार्य करें:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-dependency-plugin</artifactId> 
    <configuration> 
     <outputDirectory> 
      ${project.build.directory} 
     </outputDirectory> 
    </configuration> 
</plugin> 

तब प्रतिलिपि प्रदर्शन करने के लिए mvn clean dependency:copy-dependencies चलाएँ:

$ mvn dependency:copy-dependencies -DoutputDirectory=OUTPUT_DIR 
+0

मुझे इस विधि के साथ एक अजीब समस्या का सामना करना पड़ रहा है, इसने मुख्य निर्भरता के लिए .pom फ़ाइल डाउनलोड की है, लेकिन इसके उपनिवेशों (संक्रमणीय निर्भरताओं) के लिए यह उचित जार डाउनलोड करता है। क्या मुझसे कुछ गलत हो रही है? – derelict

2

मैवेन इन सभी को स्थानीय मैवेन 2 भंडार में संग्रहीत करता है। डिफ़ॉल्ट रूप से, यह उन्हें आपके उपयोगकर्ता होम निर्देशिका में भंडार नामक निर्देशिका के तहत संग्रहीत करेगा।

आप अपने सभी प्रोजेक्ट की निर्भरताओं को लेने और उन्हें फ़ोल्डर में रखने के लिए कॉपी नामक मेवेन-निर्भरता-प्लगइन के लक्ष्य का उपयोग कर सकते हैं।

http://maven.apache.org/plugins/maven-dependency-plugin/copy-mojo.html

+1

जावा में निर्भरता की प्रतिलिपि बनाने के लिए कोई अन्य तरीका है क्योंकि मैं pom.xml नहीं लिखता हूं, मैं इसे अभी चलाता हूं? –

3

pom.xml करने के लिए निम्न जैसा कुछ जोड़ें। इसे assembly plugin के साथ संयोजित करें और आप सब कुछ वितरण के लिए स्वयं निहित संग्रह में पैकेज कर सकते हैं।

+0

मैंने अपनी स्थानीय लाइब्रेरी बनाने के लिए '$ {project.build.directory}' '' main \ java \ resource \ libs' को बदल दिया। धन्यवाद! नोट: यहां मेरा पथ 'usr.dir' (प्रोजेक्ट रूट) से संबंधित है, लेकिन यह पूर्ण हो सकता है, जैसे 'सी: \ Mydir'। महान! – FaithReaper

4
  1. इस साइट पर जाएँ: http://jar-download.com/online-maven-download-tool.php

  2. सम्मिलित Maven निर्भरता एक्सएमएल

  3. डाउनलोड जार फ़ाइलों को एक ज़िप के रूप में।

+4

मैं तीसरे (चौथे?) पार्टी साइट के माध्यम से .jars डाउनलोड करने से बचना चाहता हूं, जो जानता है कि वे क्या जोड़ते हैं या वे अभिलेखागार (मैलवेयर) में कैसे संशोधित होते हैं? sblundy एक और सीधे आगे जवाब दिया। –

0

के रूप में समझाया here, तो आप इस के लिए maven-dependency-plugin:get उपयोग कर सकते हैं।

उदाहरण के लिए, यदि आप अपने स्थानीय फ़ोल्डर में org.apache.hive:hive-common:2.1.1 डाउनलोड करना चाहते हैं, इस पर अमल:

mvn dependency:get -Ddest=./ -Dartifact=org.apache.hive:hive-common:2.1.1 

आप https://oss.sonatype.org/content/repositories/snapshots स्नैपशॉट रिपोजिटरी से com.orientechnologies:orientdb-community-gremlin के नवीनतम 3.0.0-SNAPSHOT:tar.gz संस्करण डाउनलोड करना चाहते हैं, तो इस पर अमल:

mvn dependency:get -Ddest=./ -DremoteRepositories=sonatype-nexus-snapshots::::https://oss.sonatype.org/content/repositories/snapshots -Dartifact=com.orientechnologies:orientdb-community-gremlin:3.0.0-SNAPSHOT:tar.gz 
संबंधित मुद्दे