[英]Maven Release without pushing to Nexus (aka maven central)
我有一個 java 應用程序,我想遵循典型的 maven 發布周期,但我不想或不需要將應用程序推送到 Nexus(或 Z402C5D9AF6B43711EA070BEE5170F7)。
當我跑
mvn release:prepare release:perform -Darguments="-DskipTests=true -Dmaven.javadoc.skip=true"
我在執行階段收到一個錯誤,提示 pom.xml 文件缺少將構建的工件推送到 NEXUS 所需的<distributionManagement>
定義(我們的內部 maven 存儲庫)。
我正在使用 git 並且當我使用git log
時,我可以看到我想要執行的所有其他步驟都已正確執行。
所以……一切看起來都很好。 我要做的就是告訴 maven 不要嘗試進行推送,以便命令完成而不會出現錯誤。 注意: release:prepare
中的幾個文件被留下了,一個是release.properties
,但如果需要,我可以手動刪除它。
我正在尋找的一些解決方案是:
release:perform
並僅運行release:prepare
。 我現在正在測試這個。我一直在尋找上述所有問題的解決方案,但還沒有找到答案。
Maven 發布插件
The maven release plugin documentation is at http://maven.apache.org/maven-release/maven-release-plugin/plugin-info.html . 看起來我不想使用release:perform
基於閱讀這個!
release:perform
目標。 http://maven.apache.org/maven-release/maven-release-plugin/examples/perform-release.html - 非常沒用。
https://maven.apache.org/guides/mini/guide-releasing.html - A pretty good guide on how to use the maven release plugin.
堆棧溢出搜索
如何使用 git 設置 Maven 發布插件- 可憐的人從未得到答案。 瀏覽了 16K 次!
Maven 發布插件 2.2.2 不推送到分布管理- 這看起來很有希望,但基本上說它應該推送並說添加<distributionManagement>
元素來定義你想要推送的地方。 因為我不想這樣做,所以我沒有添加這個定義。
Hudson 和 maven-release-plugin - OP 試圖弄清楚如何將 maven 發布插件與 hudson 一起使用。 它沒有幫助。
https://stackoverflow.com/search?q=%5Bmaven%5D+release - 使用 maven 標簽和單詞 release 搜索問題。 有用的結果太多(超過 10,000 個)。
https://stackoverflow.com/search?q=%5Bmaven%5D+release+push - 現在減少到 300 個結果,更好,但我沒有找到答案。
我的猜測是,這已經被問過並回答過,但到目前為止我找不到它。
我確認, release:prepare
階段將:
您可能需要的release:perform
中唯一缺少的步驟是將版本遞增到下一個 SNAPSHOT,將發布版本轉換為新快照,以便為下一批工作做准備。
需要使用version:set
。
您可以通過更改安裝目標來做到這一點,默認情況下它是部署:
<artifactId>maven-release-plugin</artifactId>
<configuration>
<goals>install</goal>
</configuration>
另外,我認為您可以完全忽略 perform,因為 BOTH 發布版本和新開發版本的更新和提交都是通過准備步驟完成的: maven release plugin doc
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.