मावेन 2 में मैन्युअल रूप से एक कलाकृति कैसे स्थापित करें?


96

मैं कुछ त्रुटियों का सामना कर चुका हूं जब मैंने मावेन के साथ मैन्युअल रूप से एक कलाकृति स्थापित करने की कोशिश की थी। मैं कमांड के साथ एक स्थानीय निर्देशिका से एक जार स्थापित करना चाहता था

mvn install:install-file -Dfile=jta-1.0.1B.jar

लेकिन मावेन ने एक बिल्ड एरर दी, जिसमें लिखा था:

Invalid task '.01B.jar': you must
specify a valid lifecycle phase, or a
goal in the format plugin:goal or
pluginGroupId:pluginArtifactId:pluginVersion:goal

क्या मेरी आज्ञा में कोई गलती है?


इसकी स्थिति क्या है? क्या आप प्रश्न हल कर चुके हैं?
मैट

जवाबों:


147

आपको ग्रुपआईडी, आर्टिफीसिट और अपनी कलाकृतियों के लिए संस्करण को इंगित करने की आवश्यकता है:

mvn install:install-file \
  -DgroupId=javax.transaction \
  -DartifactId=jta \
  -Dpackaging=jar \
  -Dversion=1.0.1B \
  -Dfile=jta-1.0.1B.jar \
  -DgeneratePom=true

8
-पैकेजिंग = जार या समान गायब है
काबूम

@kaboom नहीं! डिफ़ॉल्ट रूप से, पैकेजिंग जार है, इसलिए आपको इसे अपने आदेश में निर्दिष्ट करने की आवश्यकता नहीं है ...
रोमेन लिंसोलास

5
@romaintaz kaboom सही है; आपको ज़रूरत है -पैकेजिंग = जार (या जो भी प्रकार है) अन्यथा आपको "पैकेजिंग" गायब है के बारे में एक त्रुटि मिलेगी।
जैक एडमंड्स

3
ऐसा लगता है कि पैकेजिंग पैरामीटर की आवश्यकता है सिवाय अगर आप एक पोम फ़ाइल प्रदान करते हैं। बाद के मामले में, पैकेज का प्रकार पोम से लिया गया है।
रोमेन लिंसोलास

1
यदि PowerShell का उपयोग कर रहे हैं, तो सुनिश्चित करें कि आप इसी तरह उद्धरण का उपयोग करते हैं"-DgroupId=javax.transaction"
ankitjaininfo

38

3 पार्टी जार स्थापित करने के लिए मावेन गाइड के अनुसार , कमांड है:

mvn install:install-file -Dfile=<path-to-file> -DgroupId=<group-id> \
-DartifactId=<artifact-id> -Dversion=<version> -Dpackaging=<packaging>

आपको वास्तव में पैकेजिंग विकल्प की आवश्यकता है। यह मूल प्रश्न का उत्तर देता है।

अब, आपके संदर्भ में, आप सूर्य द्वारा प्रदान किए गए जार से लड़ रहे हैं। आपको Sun JARs पेज के साथ Coping को भी पढ़ना चाहिए । वहाँ, आप यह जानेंगे कि मदद Maven करने के लिए आप सूर्य जार स्थान और कैसे Java.net जोड़ने के लिए के बारे में बेहतर जानकारी प्रदान करने के Maven 2 भंडार जो होता है jta-1.0.1B.jar । इसे अपने में जोड़ें settings.xml(पोर्टेबल नहीं) या pom.xml (पोर्टेबल):

  <repositories>
    <repository>
      <id>maven2-repository.dev.java.net</id>
      <name>Java.net Repository for Maven</name>
      <url>http://download.java.net/maven/2/</url>
      <layout>default</layout>
    </repository>
  </repositories>

13

मुझे पैकेजिंग जोड़ना था, इसलिए:

mvn install:install-file \
  -DgroupId=javax.transaction \
  -DartifactId=jta \
  -Dversion=1.0.1B \
  -Dfile=jta-1.0.1B.jar \
  -DgeneratePom=true \
  -Dpackaging=jar

मेरे पास जार फ़ाइल को मैन्युअल रूप से स्थापित करने में बहुत सारी समस्याएं थीं, और जब तक मैंने इसे इस तरह से टाइप नहीं किया, तब तक यह विफल रहा। अब यह काम कर रहा है!
ग्रेगटर्न


4

यदि आपको Windows PowerShell का उपयोग करते समय कभी-कभी समान त्रुटियां मिलती हैं, तो आपको विंडोज की सरल कमांड-लाइन की कोशिश करनी चाहिए। मुझे यह पता नहीं चला कि इसका कारण क्या है, लेकिन पावरशेल को मावेन के कुछ मापदंडों की व्याख्या करने की आवश्यकता है।


एस। बोल्वेबर उत्तर के ऊपर देखें। और कम से कम टेककमैंड ने वही व्यवहार व्यक्त किया।
मार्टिन

1
मेरे जवाब को कम करने का कोई कारण नहीं है - एस। बोल्वेबर ने खुद के कुछ महीने बाद जवाब दिया।
कोराक्टर

2

सभी पोस्ट किए गए उत्तर सही तरीके से कड़ाई से मावेन परिप्रेक्ष्य से चर्चा करते हैं। मेरी समस्या यह थी कि मैं अपनी प्राथमिक IDE के रूप में Netbeans का उपयोग करके मावेन के लिए यह इंस्टॉल कर रहा था। मुझे नीचे का लेख उपयोगी लगा।

निम्नलिखित नेटबीन्स फोरम लेख का श्रेय: http://forums.netbeans.org/topic22907.html

  1. मावेन परियोजना में "निर्भरता जोड़ें" संवाद खोलें
  2. कुछ groupId, विरूपण साक्ष्य और संस्करण बनाएं और उन्हें भरें, ठीक है।
  3. निर्भरता pom.xml में जोड़ी जाएगी और मावेन प्रोजेक्ट के "लाइब्रेरीज़" नोड के तहत दिखाई देगी
  4. लीब नोड पर राइट-क्लिक करें और "मैन्युअल रूप से आर्टवर्क स्थापित करें", जार में पथ भरें। जार को स्थानीय मावेन रेपो में स्थापित किया जाना चाहिए जिसमें निर्देशांक 2 चरण में दर्ज किए गए हैं)
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.