2013-11-27 17 views
17

मैं अपने pom.xml में onejar-Maven-प्लगइन का उपयोग करने के लिए कोशिश कर रहा हूँ: ग्रहण Maven प्लगइन के माध्यम से इसे बनाने का प्रयास,सोनाटाइप नेक्सस को अपडेट करने के लिए कैसे मजबूर करें?

<plugin> 
    <groupId>org.dstovall</groupId> 
    <artifactId>onejar-maven-plugin</artifactId> 
    <version>1.4.4</version> 
    <executions> 
     <execution> 
      <configuration> 
       <mainClass>com.exmaple.myproj.MpPort_MpSoapPort_Client</mainClass> 
       <onejarVersion>0.97</onejarVersion> 
       <attachToBuild>true</attachToBuild> 
       <classifier>onejar</classifier> 
      </configuration> 
      <goals> 
       <goal>one-jar</goal> 
      </goals> 
     </execution> 
    </executions> 
</plugin> 

<pluginRepositories> 
    <pluginRepository> 
     <id>onejar-maven-plugin.googlecode.com</id> 
     <url>http://onejar-maven-plugin.googlecode.com/svn/mavenrepo</url> 
    </pluginRepository> 
</pluginRepositories> 

लेकिन किसी कारण से (Maven स्थापित) के निर्माण त्रुटि में परिणाम:

Downloading: https://mynexus.example.com/nexus/content/repositories/central/org/dstovall/onejar-maven-plugin/1.4.4/onejar-maven-plugin-1.4.4.pom 
[INFO] Unable to find resource 'org.dstovall:onejar-maven-plugin:pom:1.4.4' in repository onejar-maven-plugin.googlecode.com (http://onejar-maven-plugin.googlecode.com/svn/mavenrepo) 
Downloading: https://mynexus.example.com/nexus/content/repositories/central/org/dstovall/onejar-maven-plugin/1.4.4/onejar-maven-plugin-1.4.4.pom 
[INFO] Unable to find resource 'org.dstovall:onejar-maven-plugin:pom:1.4.4' in repository central (http://repo1.maven.org/maven2) 
Downloading: https://mynexus.example.com/nexus/content/repositories/central/org/dstovall/onejar-maven-plugin/1.4.4/onejar-maven-plugin-1.4.4.pom 
[INFO] Unable to find resource 'org.dstovall:onejar-maven-plugin:pom:1.4.4' in repository central (http://repo1.maven.org/maven2) 
[INFO] ------------------------------------------------------------------------ 
[ERROR] BUILD ERROR 
[INFO] ------------------------------------------------------------------------ 
[INFO] Error building POM (may not be this project's POM). 


Project ID: org.dstovall:onejar-maven-plugin 

Reason: POM 'org.dstovall:onejar-maven-plugin' not found in repository: Unable to download the artifact from any repository 

    org.dstovall:onejar-maven-plugin:pom:1.4.4 

from the specified remote repositories: 
    Nexus (https://mynexus.example.com/nexus/content/repositories/central) 

for project org.dstovall:onejar-maven-plugin 

तो मैं मैन्युअल onejar-maven-plugin.jar डाउनलोड किया है और कमांड लाइन के माध्यम से यह स्थापित करने और मैं एक ऐसी ही त्रुटि मिल रही हो रहे हैं:

C:\Users\daniel\myproj>mvn install:install-file -Dfile=onejar-maven-plugin-1.4.4.jar -DgroupId=com.jolira -DartifactId=onejar-maven-plugin -Dversion=1.4.4 -Dpackaging=jar 
[INFO] Scanning for projects... 
Downloading: https://mynexus.example.com/nexus/content/repositories/central/org/dstovall/onejar-maven-plugin/1.4.4/onejar-maven-plugin-1.4.4.pom 
[INFO] Unable to find resource 'org.dstovall:onejar-maven-plugin:pom:1.4.4' in repository onejar-maven-plugin.googlecode.com (http://onejar-maven-plugin.googlecode.com/svn/mavenrepo) 
Downloading: https://mynexus.example.com/nexus/content/repositories/central/org/dstovall/onejar-maven-plugin/1.4.4/onejar-maven-plugin-1.4.4.pom 
[INFO] Unable to find resource 'org.dstovall:onejar-maven-plugin:pom:1.4.4' in repository central (http://repo1.maven.org/maven2) 
Downloading: https://mynexus.example.com/nexus/content/repositories/central/org/dstovall/onejar-maven-plugin/1.4.4/onejar-maven-plugin-1.4.4.pom 
[INFO] Unable to find resource 'org.dstovall:onejar-maven-plugin:pom:1.4.4' in repository central (http://repo1.maven.org/maven2) 
[INFO] ------------------------------------------------------------------------ 
[ERROR] BUILD ERROR 
[INFO] ------------------------------------------------------------------------ 
[INFO] Error building POM (may not be this project's POM). 


Project ID: org.dstovall:onejar-maven-plugin 

Reason: POM 'org.dstovall:onejar-maven-plugin' not found in repository: Unable to download the artifact from any repository 

    org.dstovall:onejar-maven-plugin:pom:1.4.4 

from the specified remote repositories: 
    Nexus (https://mynexus.example.com/nexus/content/repositories/central) 

for project org.dstovall:onejar-maven-plugin 

मेरी समझ यह है कि हमारे पास एक नेक्सस दर्पण है जिसमें उस विशेष आर्टिफैक्ट नहीं है, चीजें उलझन में आती हैं।

इसलिए मैंने How to force Sonatype Nexus Regenerate/Reindex its Metadata पर दिए गए निर्देशों का पालन करने का प्रयास किया लेकिन "ब्राउज़ करें इंडेक्स" टैब में ऐसा कोई संदर्भ मेनू नहीं है! हमारे सोनाटाइप नेक्सस पर

enter image description here

मैं here पढ़ा है कि "नेक्सस केवल कलाकृतियों कि ग्राहकों का अनुरोध किया है संचित करता है। इसलिए यदि आप उचित संस्करणों का अनुरोध करने के अपने प्रोजेक्ट poms ऊपर निर्धारित करने की आवश्यकता"। लेकिन यह वही है जो मैं कर रहा हूं - परिणाम में कोई बदलाव किए बिना।

मैं इस "चिकन & अंडा" स्थिति से कैसे बाहर निकल सकता हूं और यह एकजर-मेवेन-प्लगइन वर्क प्राप्त कर सकता हूं। 1.4.4 मेरे नेक्सस दर्पण में?

(वैकल्पिक रूप से, कैसे मैं इसे अपने स्थानीय .m2 कैश में मिलता है?)

उत्तर

20

आप Maven अद्यतन करने के लिए और अनुरोध निर्भरता यू

के साथ स्थानीय रेपो में शामिल है फिर भले ही कलाकृतियों के बारे में मेटाडेटा उपलब्ध नहीं हो मजबूर कर सकते हैं
mvn clean install -U 

काम करना चाहिए।

इसके अलावा आपको केवल केंद्रीय रिपो के बजाय सार्वजनिक समूह को इंगित करने के लिए अपना settings.xml बदलना चाहिए। अधिक in the Nexus book पाया जा सकता है।

और आपको ध्यान रखना चाहिए कि केंद्रीय रिपोजिटरी में onejar प्लगइन नहीं है जिसका आप उपयोग करने का प्रयास कर रहे हैं। search results की जाँच करें और देखें कि groupIdcom.joilira और नहीं org.dstovall

इसके अलावा अधिक यदि आप वास्तव में org.dstovall से onejar प्लगइन का उपयोग आप नेक्सस के लिए एक प्रॉक्सी भंडार के रूप में यूआरएल http://onejar-maven-plugin.googlecode.com/svn/mavenrepo/ जोड़ना चाहिए, सार्वजनिक समूह में जोड़ने के लिए चाहते है और उसके बाद अपने settings.xml

+0

में सार्वजनिक समूह का उपयोग करें। मैं अपने 'settings.xml' में '' तत्व अस्थायी रूप से टिप्पणी करने का सुझाव देने वाला था (कम से कम पैकेज को अपने स्थानीय 'एम 2' में प्राप्त करने के लिए कामकाज के रूप में) कैश) लेकिन फिर ध्यान दिया कि आपके पास और भी शानदार अंतर्दृष्टि थी: उसका नेक्सस 'com.jolira' पर' com.dstoval' नहीं है। इसके लिए +1! – sfinja

+1

इसकी pom.xml फ़ाइल जिसमें गलत संदर्भ है। नेक्सस के साथ वास्तव में कुछ भी नहीं .. –

+0

लेकिन यदि आप प्रदान किए गए स्क्रीनशॉट को देखते हैं, तो उसका नेक्सस 'नेजर-मेवेन-प्लगइन' को इंगित करता है, केवल यह 'जोलीरा' से है, न कि 'डस्टोवल'। क्या ऐसा नहीं है कि उसका स्वर्ग असफल हो रहा है? – sfinja

संबंधित मुद्दे