मैं ग्रहण में मावेन निर्भरता कैसे जोड़ूं?


128

मुझे नहीं पता कि मावेन का उपयोग कैसे करना है। मैं ग्रहण के साथ कुछ वर्षों से विकसित कर रहा हूं और इसके बारे में अभी तक जानने की जरूरत नहीं है। हालाँकि, अब मैं कुछ डॉक्स देख रहा हूँ जो सुझाव देते हैं कि मैं निम्नलिखित कार्य करता हूँ:

"इसे अपनी परियोजना के भीतर शामिल करने के लिए, बस इस मावेन निर्भरता को अपने निर्माण में जोड़ें।"

<repository>
   <id>jboss</id>
   <url>http://repository.jboss.org/maven2</url>
</repository>

   ...
<dependency>
   <groupId>org.jboss.resteasy</groupId>
   <artifactId>resteasy-jackson-provider</artifactId>
   <version>1.1.GA</version>
</dependency>

मैं अपने ग्रहण प्रोजेक्ट के साथ यह कैसे करूँ?

कृपया मान लें कि मुझे मावेन के बारे में कुछ नहीं पता है। मुझे लगा mvnकि कमांड लाइन पर टाइप करके इसे अपने कंप्यूटर पर स्थापित किया जा सकता है , लेकिन यह मेरे ज्ञान की सीमा को गंभीरता से लेता है । मैं मावेन के बारे में कुछ भी नहीं जानना जारी रखने में खुशी होगी अगर ग्रहण के साथ इन निर्देशों का पालन करने का एक समान, गैर-मावेन तरीका है।


2
क्या आपने मावेन स्टार्टिंग गाइड पढ़ा है: maven.apache.org/guides/getting-started/index.html
Dan W

4
गैर-मावेन समतुल्य: उन सभी पुस्तकालयों का पता लगाएं, जिनकी आपको आवश्यकता है और उन्हें अपनी परियोजना के निर्माण पथ (काम निर्देशिका) में जोड़ें। "सभी लाइब्रेरी जो आपको चाहिए" = resteasy-jackson-प्रदाता-1.1.GA.jar (2.3.0 वर्तमान संस्करण है ...) प्लस सभी निर्भरताएं। "सभी निर्भरताएं" मावेन आपके लिए (इस स्थिति में) करती हैं। इसे देखते हुए वे जैकसन-कोर-एसएल, जैकसन-मैपर-एसएल, जैकसन-जैक्सर्स, जैकसन-एक्ससी हैं। थोड़ा मावेन सीखो, यह बिल्कुल समय के लायक है।
हौके इंगमार श्मिट

आप में Maven के बारे में अधिक जानकारी मिल जाएगी Maven: पूरा संदर्भ गाइड, और आप भी ग्रहण स्थापित करने के लिए विचार करना चाहिए M2E प्लगइन (पहले m2eclipse के रूप में जाना जाता है)।
10

जवाबों:


204
  1. शीर्ष मेनू बार पर, विंडो खोलें -> दृश्य देखें -> अन्य
  2. शो दृश्य विंडो में, Maven -> Maven Repositories खोलें

    दृश्य देखें - मावेन रिपॉजिटरी

  3. दिखाई देने वाली विंडो में, ग्लोबल रिपोजिटरीज़ पर राइट-क्लिक करें और गो इनटू चुनें

  4. " केंद्रीय ( http://repo.maven.apache.org/maven2 ) " पर राइट-क्लिक करें और " रिजेक्ट इंडेक्स " चुनें।

    • ध्यान दें कि डाउनलोड पूरा करने में कुछ समय लगेगा
  5. एक बार अनुक्रमण पूरा हो जाने के बाद, प्रोजेक्ट पर राइट क्लिक करें -> मावेन -> निर्भरता जोड़ें और उस प्रोजेक्ट का नाम लिखना शुरू करें जिसे आप आयात करना चाहते हैं (जैसे "हाइबरनेट")।

    • नीचे दिए गए "खोज परिणाम" बॉक्स में खोज परिणाम ऑटो-फिल होंगे।

156
किंवदंती यह है, इसके अभी भी सूचकांक के पुनर्निर्माण।

25
सलाह का शब्द: ग्रहण (मई 2016 के रूप में नवीनतम संस्करण को लाइक करें) केंद्रीय मावेन रिपॉजिटरी इंडेक्स के पुनर्निर्माण के दौरान समुद्र के ऊपर ताला। और स्टेटस अब पाँच मिनट के लिए "0%" पर अटक गया है। कोई योजना न बनाएं।
सासुपेउ

7
लानत, मुझे याद है<insert-name-of-previously-considered-to-be-worst-package-manager-ever-here>
मार्क के कोवान

12
मैं केंद्रीय फ़ोल्डर की कोशिश करने और खोलने के लिए पर्याप्त मूर्ख था ... ऐसा मत करो ...
प्यार नहीं किया

15
नोट: यदि यह मावेन परियोजना नहीं थी। चरण 5 से पहले, आपको प्रोजेक्ट को राइट-क्लिक करना होगा -> कॉन्फ़िगर -> मावेन प्रोजेक्ट में कनवर्ट करें। फिर चरण 5 काम करेगा।
क्लिफ 2310

26

वास्तव में जब आप pom.xml खोलते हैं, तो आपको तल में 5 टैब देखना चाहिए। Pom.xml पर क्लिक करें, और आप जो भी निर्भरता चाहते हैं उसे टाइप कर सकते हैं।

यहाँ छवि विवरण दर्ज करें


बड़ी मदद की। इससे पहले 5 टैब को नोटिस नहीं किया था
एम। स्मिथ

2
ग्रहण अभी भी मेरे कोड में मेरे pom.xml से निर्भरता को नहीं पहचानता है। जब मैं IntelliJ का उपयोग करता हूं तो यह स्वचालित रूप से उन्हें डाउनलोड करता है और उन्हें कोड पूरा करने के लिए सेट करता है, क्या यह ग्रहण नहीं करता है?
कैस एलियन्स

यदि आप पहले से ही अपनी निर्भरता (समूह आईडी, आर्टिफिशियल आईडी, संस्करण) का विवरण जानते हैं, तो यह केवल आपके प्रोजेक्ट में शामिल करने के लिए इंटरनेट डाउनलोड करने की तुलना में बहुत तेज है my-favorite-library.jar
क्रिस्टोफर शुल्त्ज़

10

इसे ठीक से करने के लिए आपको ग्रहण के लिए मावेन प्लगइन का उपयोग करना होगा। एम 2 प्लगइन को ग्रहण के नवीनतम संस्करण में बनाया गया है, और एक सभ्य बनाता है यदि आईडीई में मावेन को एकीकृत करने का सही काम नहीं है। आप 'मावेन प्रोजेक्ट' के रूप में अपनी परियोजना बनाना चाहेंगे। वैकल्पिक रूप से आप स्वचालित रूप से प्रोजेक्ट बनाने के लिए अपने कार्यक्षेत्र में एक मौजूदा मावेन पोम आयात कर सकते हैं। एक बार जब आप आईडीई में अपनी मावेन परियोजना रखते हैं, तो बस पीओएम खोलें और उसमें अपनी निर्भरता जोड़ें।

अब, यदि आपके पास ग्रहण के लिए मावेन प्लगइन नहीं है, तो आपको प्रश्न में निर्भरता के लिए जार (एस) प्राप्त करने की आवश्यकता होगी और मैन्युअल रूप से उन्हें अपने प्रोजेक्ट के लिए क्लासपैथ संदर्भों के रूप में जोड़ना होगा। यह अप्रिय हो सकता है क्योंकि आपको न केवल शीर्ष स्तर के जार की आवश्यकता होगी, बल्कि इसकी सभी निर्भरताएं भी।

असल में, मैं आपको ग्रहण के लिए एक सभ्य मैवेन प्लगइन प्राप्त करने की सलाह देता हूं और इसे आपके लिए निर्भरता प्रबंधन को संभालने देता हूं।


2
जवाब के लिए धन्यवाद। मेरे पास पहले से ही 1000 फाइलों के साथ एक परियोजना है - क्या खरोंच से शुरू करने के बजाय मावेन समर्थन को जोड़ने का एक तरीका है ? मेरे पास ग्रहण का नवीनतम संस्करण है
रिले लर्क

3
एक्लिप्स और एम 2 के नवीनतम संस्करण के साथ आप नियमित जावा प्रोजेक्ट पर राइट क्लिक कर सकते हैं और इसके लिए डिपेंडेंसी मैनेजमेंट को सक्षम कर सकते हैं। यह परियोजना के लिए एक pom.xml उत्पन्न करेगा, जबकि इसकी संरचना बरकरार रहेगी।
धारणा

7

Pom.xml फ़ाइल खोलें।

projectटैग के तहत <dependencies>एक और टैग के रूप में जोड़ें , और मावेन निर्भरता के लिए Google। मैं प्रयोग किया जाता है इस खोज करने के लिए।

तो निर्भरता मिलने के बाद टैग के dependencyअंदर एक और टैग बनाएं <dependencies>

तो अंततः यह कुछ इस तरह दिखेगा।

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>doc-examples</groupId>
  <artifactId>lambda-java-example</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <name>lambda-java-example</name>
  <dependencies>
      <!-- https://mvnrepository.com/artifact/com.amazonaws/aws-lambda-java-core -->
    <dependency>
        <groupId>com.amazonaws</groupId>
        <artifactId>aws-lambda-java-core</artifactId>
        <version>1.0.0</version>
    </dependency>
  </dependencies>
</project>

आशा करता हूँ की ये काम करेगा।


2

मैंने इसी तरह की समस्या का सामना किया है और .M2 पाथ में लापता जार फाइलों को कॉपी करके तय किया है।

उदाहरण के लिए: यदि आप त्रुटि संदेश देखते हैं, Missing artifact tws:axis-client:jar:8.7तो आपको "अक्ष-ग्राहक-8.7.jar" फ़ाइल डाउनलोड करनी होगी और नीचे दिए गए स्थान पर पेस्ट करना होगा जिससे समस्या हल हो जाएगी।

C: \ Users \ UsernameXXX.m2 \ repository \ tws \ ax-client \ 8.7 (चिपकाएँ अक्ष-क्लाइंट-8.7.jar)।

अंत में, प्रोजेक्ट पर राइट क्लिक करें-> Maven-> अपडेट प्रोजेक्ट ... Thats it।

खुश कोडिंग।


धन्यवाद! यह मेरी विशिष्ट समस्या नहीं थी लेकिन इससे मुझे इसे हल करने में मदद मिली। मेरे मामले में मेरा जार सही स्थान पर था लेकिन रास्ता थोड़ा गलत था।
कप्तान शानदार

-1

मैंने मावेन निर्भरताओं के साथ एक ही समस्या का सामना किया है, उदाहरण के लिए: दुर्भाग्य से आपके मावेन निर्भरता को आपके बिल्डपैथ से हटा दिया गया है, फिर आप लोगों को बहुत सारे अपवाद मिलते हैं, यदि आप नीचे की प्रक्रिया का पालन करते हैं तो आप आसानी से इस मुद्दे को हल कर सकते हैं।

 प्रोजेक्ट पर राइट क्लिक करें >> maven >> updateProject >> selectProject >> OK

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.