我正在嘗試將我們的存儲庫從SVN遷移到Git,並且在一個非常大的項目上遇到了release插件問題。Maven-Release-Plugin:強制使用scm提供程序的特定版本
問題:
大約有50多個子模塊,這個項目並嘗試添加所有的修改勁歌作爲一個「git的補充 - 」。這打破了Windows命令行限制。
幸運的是,在maven-scm-provider-gitexe的1.8.1版本中已經修復了這個問題,但是maven-release-plugin目前被設置爲使用1.7版本,但沒有修復。
我已經嘗試將以下內容添加到我的根目錄pom.xml中,但在mvn發行版中我仍然可以看到它下載1.7:準備並在詳細模式下運行該進程並不表示它正在使用1.8.1。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.3.2</version>
<executions>
<execution>
<id>default</id>
<goals>
<goal>perform</goal>
</goals>
<configuration>
<pomFileName>subproj/pom.xml</pomFileName>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.apache.maven.scm</groupId>
<artifactId>maven-scm-api</artifactId>
<version>1.8.1</version>
</dependency>
<dependency>
<groupId>org.apache.maven.scm</groupId>
<artifactId>maven-scm-provider-gitexe</artifactId>
<version>1.8.1</version>
</dependency>
</dependencies>
</plugin>
我也嘗試在pom.xml中添加以下內容,以便強制它使用正確的版本而沒有更多的運氣。
<extensions>
<extension>
<groupId>org.apache.maven.scm</groupId>
<artifactId>maven-scm-provider-gitexe</artifactId>
<version>1.8.1</version>
</extension>
</extensions>
我懷疑它是不是使用1.8.1的原因是,它仍然沒有試圖做一個git的所有POM文件添加,而我已經檢查了插件的源代碼,這肯定看起來像它應該被加入每個文件單獨爲Windows(我甚至仔細檢查codehaus plexus Os.isFamily(Os.FAMILY_WINDOWS),以確保在我的機器上返回true。
我缺少什麼?如何強制發佈插件使用正確的版本的SCM插件?
爲什麼要轉到GIT? (除了,*很酷*)?只是想知道,因爲SVN沒什麼問題。 – vikingsteve
首先,我會建議使用最新版本的maven-release-plugin,因爲當前版本是2.4.1。除此之外,您在發佈週期中收到了哪些錯誤消息? – khmarbaise
我已經試過2.4.1,沒有更多的運氣。我使用2.3.2,因爲發佈插件頁面建議如果你使用Git(儘管它沒有指定爲什麼)。 – Wysawyg