由于git对路径的错误解释,Maven发布失败

时间:2016-05-24 08:04:18

标签: git maven release

我的问题发生在使用这样一个命令的maven版本中:

  

mvn --settings D:\ My \ user_settings.xml release:prepare release:perform -Dresume = false   -Darguments =" -DskipTests" -Prelease

项目树以这种方式设置(并且无法更改!):

  • project \ project \ pom.xml
  • project \ project-core \ pom.xml
  • project \ project-service \ pom.xml
  • project \ project-encrypt \ pom.xml

在父母pom中,你(确实还有其他东西!):

<modules>
    <module>..//project-encrypt</module>
    <module>..//project-core</module>
    <module>..//project-service</module>
</modules>

Maven构建顺利,但是当需要执行git-add时,我收到了这条消息:

  

执行:cmd.exe / X / C&#34; git add - pom.xml -encrypt \ pom.xml   -core \ pom.xml -service \ pom.xml&#34;工作目录:D:\ My \ Workspaces \ project \ project

     

无法执行目标org.apache.maven.plugins:maven-release-plugin:2.3.2:准备   项目项目中的(default-cli):无法提交文件Provider   消息:git-add命令失败。命令输出:致命:   pathspec&#39; -encrypt \ pom.xml&#39;与任何文件都不匹配

我试图以多种方式编写模块路径,但都以同样的方式失败:

  

..//项目加密

     

../项目加密

     

../项目加密

对这个问题有什么看法吗? (因为我不能重命名我的项目,这实际上不是解决方案......)。

在此之前提前感谢您的阅读!

1 个答案:

答案 0 :(得分:0)

首先,您应该描述所有模块中父pom.xml的相对路径

<parent>
    <groupId>com.mycompany.app</groupId>
    <artifactId>...</artifactId>
    <version>...</version>
    <relativePath>../project/pom.xml</relativePath> <!-- REQUIRED! -->
</parent>

第二,你应该添加假项目/ pom.xml与(a)分发部分和(b)模块描述部分:

<modules>
    <module>project</module>
    <module>project-core</module>
    <module>project-service</module>
    <module>project-encrypt</module>
</modules>

现在,你可以发布这个项目,它会成为一个技巧。

BTW,用单个/ in路径替换//。 Windows可以将双斜杠解释为网络路径。