簡體   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