繁体   English   中英

由于git失败,Maven发布失败

[英]Maven release fails due to git failure

我正在尝试发布mvn,但由于git问题而失败。 在没有这个问题之前我已经多次这样做了,我真的不知道为什么/如何发生这种情况。

我首先得到它做mvn release:prepare,但通过将下面显示的最后一行添加到我的root-pom来解决它:

    <artifactId>maven-release-plugin</artifactId>
    <configuration>
      <preparationGoals>clean install</preparationGoals>
      <pushChanges>false</pushChanges>

但是现在,当我尝试执行mvn release:perform时,我再次收到错误消息:

[INFO] Executing: cmd.exe /X /C "git clone file://C\Users\torbjornk\nfr\MyProject/ C:\Users\torbjornk\nfr\MyProject\target\checkout"
[INFO] Working directory: C:\Users\torbjornk\nfr\MyProject\target
[ERROR] The git-clone command failed.
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD FAILURE  
[INFO] ------------------------------------------------------------------------
[INFO] Unable to checkout from SCM
Provider message:
The git-clone command failed.
Command output:
fatal: 'C:/Program Files (x86)/Git' does not appear to be a git repository
fatal: The remote end hung up unexpectedly

我不知道我的git-installation-folder应该是一个git存储库! 在错误发生之前记录的git clone-command也不包含对此文件夹的引用。

只是为了补充Tobb的优秀原创答案..
我注意到这已经修复但是在使新版本工作时遇到了问题。你必须将它添加为插件(而不是项目)依赖项,例如。

<!-- Appengine deploy at end of mvn release:perform -->
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-release-plugin</artifactId>
    <version>2.2.2</version>
    <dependencies>
        <dependency>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-scm-plugin</artifactId>
            <version>1.8.1</version>
        </dependency>
    </dependencies>
</plugin>

原来这是以前遇到的错误。 这是由于maven-scm-provider-git中的一个错误导致对本地存储库的文件引用以便在“C:...”中丢失其“:”。 (这里描述了这个bug: http//jira.codehaus.org/browse/SCM-662

我们通过将固定版本的jar复制到本地maven存储库来修复此问题,但我最近清除了我的本地存储库以查看我们的Nexus存储库是否正常运行,从而在我的本地存储库中获得了一个未固定版本的jar (DOH!)

所以,将固定版本的jar添加到我的本地maven repo中,git clone-command再次包含一个':',并且事情开始工作了:)

编辑:此错误在maven发行版插件的2.4版本中得到修复。

这可能是一个问题

file://C\Users\torbjornk\nfr\MyProject/

你不能只使用常规路径克隆?

C:\Users\torbjornk\nfr\MyProject/

如果不是,我认为它应该是:

file:///C:/Users/torbjornk/nfr/MyProject/

如果这不起作用,请尝试以下方法之一:

file://localhost/c|/Users/torbjornk/nfr/MyProject/
file:///c|/Users/torbjornk/nfr/MyProject/
file://localhost/c:/Users/torbjornk/nfr/MyProject/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM