2012-08-01 9 views
7

documentation के अनुसार, मेवेन रिलीज: प्रोजेक्ट को लक्ष्य जांचने के लिए प्रदर्शन करें और उसके बाद इसे बनाने के लिए एक नया मैवेन उदाहरण दें। किसी कारण से फोर्कड उदाहरण उपयोगकर्ता के settings.xml को अनदेखा करता है, जो मेरे मामले में एक त्रुटि का कारण बनता है क्योंकि उस फ़ाइल में ऐसी संपत्ति की परिभाषा है जिसका उपयोग पेरेंट पोम में रिपॉजिटरी के यूआरएल को लिखने के लिए किया जाता है। एक "गठजोड़" प्रोफ़ाइल जो हमेशा सक्रिय है में एक संपत्ति कीमैवेन रिलीज से बाहर की गई प्रक्रिया: प्लगइन निष्पादित उपयोगकर्ता की सेटिंग्स.xml को अनदेखा करता है?

  • उपयोगकर्ता की settings.xml
    परिभाषा।

    <profiles> 
        <profile> 
        <id>nexus</id> 
        <properties> 
         <dist.url>http://host.com/nexus/content/repositories</dist.url> 
        </properties> 
        </profile> 
    </profiles> 
    
    <activeProfiles> 
        <activeProfile>nexus</activeProfile> 
    </activeProfiles> 
    
  • लिए अभिभावकों की pom.xml
    परिभाषित संपत्ति का प्रयोग भंडार का यूआरएल की रचना करने के।

    <distributionManagement> 
        <repository> 
        <id>nexus</id> 
        <url>${dist.url}/releases</url> 
        </repository> 
    </distributionManagement> 
    
  • कमान मार डाला:

    mvn release:perform 
    
  • आउटपुट (के बाद यह हो रही है इंगित करता है सफलतापूर्वक बाहर की जाँच की, बनाया गया है, का परीक्षण किया और परियोजना पैक):

    [INFO] Uploading: ${dist.url}/releases/com/acme/access/my-project/1.0/my-project-1.0.jar 
    [INFO] [INFO] ------------------------------------------------------------------------ 
    [INFO] [INFO] BUILD FAILURE 
    [INFO] [INFO] ------------------------------------------------------------------------ 
    [INFO] [INFO] Total time: 3.659s 
    [INFO] [INFO] Finished at: Wed Aug 01 14:40:23 EDT 2012 
    [INFO] [INFO] Final Memory: 21M/307M 
    [INFO] [INFO] ------------------------------------------------------------------------ 
    [INFO] [WARNING] The requested profile "nexus" could not be activated because it does not exist. 
    [INFO] [ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project my-project: Failed to deploy artifacts: Could not transfer artifact com.acme.access:my-project:jar:1.0 from/to nexus (${dist.url}/releases): Error transferring file: no protocol: ${dist.url}/releases/com/acme/access/my-project/1.0/my-project-1.0.jar -> [Help 1] 
    

सूचना कैसे फोर्कड मैवेन इंस्टेंस $ {dist.url} पर अपलोड करने का प्रयास कर रहा है, जो इंगित करता है कि सेटटी में परिभाषित संपत्ति ngs.xml पढ़ा नहीं गया था। साथ ही, चेतावनी संदेश सूचित करता है कि प्रोफ़ाइल "नेक्सस" नहीं मिली थी। मुझे लगता है कि मुख्य मेवेन उदाहरण ने प्रोफाइल जानकारी को फोर्क किए गए इंस्टेंस में पास कर दिया है, इसलिए इसे देखने के लिए पता था, लेकिन चूंकि उसने उपयोगकर्ता की सेटिंग्स.xml को अनदेखा किया (या नहीं मिला), यह उस प्रोफ़ाइल को नहीं मिला।

एक ही रास्ता मैं नाकाम करने के लिए इस मैन्युअल रूप से Maven के कमांड लाइन -s तर्क प्लगइन के arguments तर्क द्वारा "लिपटे" के उपयोग के माध्यम settings.xml फ़ाइल का स्थान निर्दिष्ट करने के लिए है पाया है,

mvn release:perform -Darguments="-s C:\Users\theuser\.m2\settings.xml" 

में के रूप में प्लगइन एक अपेक्षित/सही तरीके से व्यवहार कर रहा है? जैसा कि मैंने ऊपर किया है, फ़ाइल के स्थान को निर्दिष्ट किए बिना उपयोगकर्ता के settings.xml के अंदर संपत्ति परिभाषा को रखने का कोई तरीका है?

अधिक जानकारी:

  • समस्या प्लगइन उपयोगकर्ता के settings.xml नहीं मिल रहा है, यह काम करने के लिए कारण वैश्विक settings.xml में प्रोफ़ाइल जानकारी को कॉपी के रूप में करता है के साथ विशेष रूप से हो रहा है।

  • उपयोगकर्ता का settings.xml ठीक से नामित/बनाया गया है क्योंकि help:active-profiles चल रहा है यह इंगित करता है कि प्रोफ़ाइल सक्रिय है। mvn clean deploy के साथ मैन्युअल रूप से निर्माण और तैनाती भी सही ढंग से काम करती है (यानी, भंडार URL सही ढंग से गणना की जाती है और आर्टिफैक्ट अपलोड किया जाता है)।

+0

मुझे लगता है कि मेरे मामले में इसी प्रकार की समस्या है। Http://stackoverflow.com/questions/18636196/maven-issue-the-goal-you- निर्दिष्ट-requires-a-project-to-execute-but- कहीं नहीं -इस –

उत्तर

10

यह मेवेन-रिलीज-प्लगइन में एक बग जरूरी नहीं है।ऐसा लगता है कि आप इस मेवेन बग में भाग गए: MNG-5224 बग मेवेन 3.0.4 में तय किया जाना चाहिए।

+1

सहमत हैं, इस व्यवहार को जानना अच्छा है एक बग माना जाता है। धन्यवाद! – jsiqueira

+0

मुझे मेवेन 3.0.4 के साथ एक ही समस्या मिली - आर 1232337 – Aure77

+0

मैवेन 3.3.3 के साथ एक ही समस्या ... – gogognome

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