2013-06-28 2 views
5

विंडोज बॉक्स पर मेवेन 3.0.5 का उपयोग करके, मैं एक सिग्विन बैश प्रॉम्प्ट से mvn -X -B release:prepare चलाने की कोशिश कर रहा हूं, जो विफल रहता है।एमवीएन रिलीज के साथ: तैयार करें, क्या मेवेन को प्रतिबद्ध कमांड के लिए सबमिशन पोम स्थानों में फॉरवर्ड स्लैश का उपयोग करना संभव है?

[INFO] Executing: cmd.exe /X /C "git commit --verbose -F C:\cygwin\tmp\maven-scm-24643703.commit pom.xml module1\pom.xml module2\pom.xml" 

... 

[ERROR] The git-commit command failed. 
[ERROR] Command output: 
[ERROR] error: pathspec '"module1\\pom.xml"' did not match any file(s) known to git. 
[ERROR] error: pathspec '"module2\\pom.xml"' did not match any file(s) known to git. 

अगर मैं आदेश मैन्युअल रूप से (एक पार्टी शीघ्र से) बैकस्लैश संशोधित करने के बाद स्लैश अग्रेषित करने के लिए चलाने के लिए, यह काम करता है:: यहाँ उत्पादन में से कुछ है

cmd.exe /X /C "git commit --verbose pom.xml module1/pom.xml module2/pom.xml" 

मैं जड़ को संशोधित करने की कोशिश की है

: कमांड लाइन पर

<properties> 
    <file.separator>/</file.separator> 
    <fileSeparator>/</fileSeparator> 
</properties> 

मैं कोशिश की है विभिन्न विकल्पों: पोम यह स्वचालित रूप से ऐसा करने के लिए

-Darguments="-DfileSeparator=/" 
-Darguments="-Dfile.separator=/" 
-DfileSeparator='/' 

क्या मेवेन को प्रतिबद्ध आदेश के लिए सबमिशन पोम स्थानों में फॉरवर्ड स्लैश का उपयोग करने का निर्देश देने का कोई तरीका है?

संपादित करें:

निर्मित Maven स्रोत से स्थानीय स्तर पर Cygwin के तहत। दो submodules के साथ एक archetype से एक उदाहरण परियोजना बनाई।

[INFO] [INFO] BUILD SUCCESS 
[INFO] [INFO] ------------------------------------------------------------------------ 
[INFO] [INFO] Total time: 3.316s 
[INFO] [INFO] Finished at: Fri Jun 28 14:29:53 CDT 2013 
[INFO] [INFO] Final Memory: 19M/223M 
[INFO] [INFO] ------------------------------------------------------------------------ 
[INFO] Checking in modified POMs... 
[INFO] Executing: cmd.exe /X /C "git add -- pom.xml module1\pom.xml module2\pom.xml" 
[INFO] Working directory: C:\cygwin\home\don.branson\projects\example 
[INFO] Executing: cmd.exe /X /C "git status" 
[INFO] Working directory: C:\cygwin\home\don.branson\projects\example 
[INFO] Executing: cmd.exe /X /C "git commit --verbose -F C:\cygwin\tmp\maven-scm-1306363489.commit pom.xml module1\pom.xml 
module2\pom.xml" 
[INFO] Working directory: C:\cygwin\home\don.branson\projects\example 
[INFO] ------------------------------------------------------------------------ 
[INFO] Reactor Summary: 
[INFO] 
[INFO] example ........................................... FAILURE [6.972s] 
[INFO] module1 ........................................... SKIPPED 
[INFO] module2 ........................................... SKIPPED 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 7.475s 
[INFO] Finished at: Fri Jun 28 14:29:54 CDT 2013 
[INFO] Final Memory: 8M/153M 
[INFO] ------------------------------------------------------------------------ 
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.0:prepare (default-cli) on project example: 
Unable to commit files 
[ERROR] Provider message: 
[ERROR] The git-commit command failed. 
[ERROR] Command output: 
[ERROR] error: pathspec '"module1\\pom.xml"' did not match any file(s) known to git. 
[ERROR] error: pathspec '"module2\\pom.xml"' did not match any file(s) known to git. 
[ERROR] -> [Help 1] 
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. 
[ERROR] Re-run Maven using the -X switch to enable full debug logging. 
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles: 
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException 

यहाँ जड़ pom.xml है:: पहले की तरह ही परिणाम के साथ mvn -B release:prepare दोहराया

<?xml version="1.0" encoding="UTF-8"?> 
<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>com.example</groupId> 
    <artifactId>example</artifactId> 
    <version>1.0-SNAPSHOT</version> 
    <packaging>pom</packaging> 

    <name>example</name> 
    <url>http://maven.apache.org</url> 

    <properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    </properties> 

    <scm> 
    <connection>scm:git:file://../example.git/</connection> 
    </scm> 

    <dependencies> 
    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>3.8.1</version> 
     <scope>test</scope> 
    </dependency> 
    </dependencies> 
    <modules> 
    <module>module1</module> 
    <module>module2</module> 
    </modules> 
</project> 

यहाँ module1 के pom.xml है:

<?xml version="1.0"?> 
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
    <modelVersion>4.0.0</modelVersion> 
    <parent> 
    <groupId>com.example</groupId> 
    <artifactId>example</artifactId> 
    <version>1.0-SNAPSHOT</version> 
    </parent> 
    <groupId>com.example</groupId> 
    <artifactId>module1</artifactId> 
    <version>1.0-SNAPSHOT</version> 
    <name>module1</name> 
    <url>http://maven.apache.org</url> 
    <properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    </properties> 
    <dependencies> 
    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>3.8.1</version> 
     <scope>test</scope> 
    </dependency> 
    </dependencies> 
</project> 

संपादित करें:

एक ही मुद्दे के साथ एक लड़का यहाँ है। उनका समाधान बैश के बजाय विंडोज शैल का उपयोग करना है। Bleh:

http://www.theroundmeatball.com/making-maven-release-plugin-on-windows-with-git-gpg-and-github-to-work/

+0

आप पूर्ण पोम फ़ाइल कहाँ से रिलीज करने के लिए कोशिश कर रहे हैं दिखा सकते हैं, कारण आदेश आप से पता चला है थोड़ा अजीब लग रहा है। – khmarbaise

+0

@khmarbaise - मुझे पसंद है, लेकिन यह वह नहीं है जिसे मैं साझा कर सकता हूं। क्या विशेष रूप से कुछ भी अजीब है?आपके द्वारा देखे गए जेनरेट किए गए आदेशों से यह अलग कैसे है? –

+0

यह देशी विंडोज और सिग्विन कमांड के मिश्रण की तरह दिखता है। यदि सही है, तो आप चीजों को सरल बनाने के लिए अपने पर्यावरण को एक या दूसरे पर प्राप्त करना चाहते हैं। – AlG

उत्तर

1

मैं सिर्फ मैन्युअल Git कमांड को क्रियान्वित उसके चारों ओर काम किया।

मैवेन संदेश कहता है कि इसे निष्पादित करने का प्रयास करने के बाद, मैंने स्लैश को सही करने के लिए मैन्युअल रूप से इस आदेश को निष्पादित किया।

फिर मैं मैवेन को फिर से चला गया और दूसरा गिट कमांड मिला जो असफल हो जाएगा।

मैंने इसे मैन्युअल रूप से भी किया और आखिरी बार मैवेन को फिर से शुरू कर दिया।

यह अच्छा नहीं है, लेकिन कम से कम यह एक मैन्युअल काम है।

1

बस इस पार में आया। यहां तक ​​कि नवीनतम 2.5.3 रिलीज प्लगइन भी इस समस्या है। मेरा कामकाज पोर्टेबल गिट को https://git-scm.com/download/win से डाउनलोड करना था और पथ में पहले ..../PortableGit/cmd डालना था। यह विंडोज संस्करण के साथ साइगविन गिट को प्रभावी ढंग से बदल देता है। और pom.xml में मैं स्पष्ट रूप से 2.5.3 प्लगइन के लिए पूछना:

  <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-release-plugin</artifactId> 
        <version>2.5.3</version> 
      </plugin> 
संबंधित मुद्दे