日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

maven 版本号插件_测试Maven版本插件自动递增版本号

發布時間:2023/12/3 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 maven 版本号插件_测试Maven版本插件自动递增版本号 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

maven 版本號插件

抽象

Maven版本插件是一個非常強大的工具,我在很大程度上依賴于它來協調軟件版本。 通常,軟件發行版本號遵循簡單的1.0.0.0-SNAPSHOT格式。 但是最近我需要在版本號中添加一個限定符,例如1.0-beta-SNAPSHOT或1.0.0-fix-bug-description-SNAPSHOT 。 在我第一次嘗試添加限定符之后,Maven發行插件以意外的方式自動增加了版本號。 因此,我需要研究Maven發行版插件版本的自動遞增行為,但要在生產Git存儲庫中做很多廢話(我沒有開發庫)。 本博客的目的是展示如何配置Maven發行插件,使其可以在本地運行而不更改生產源代碼控制。

免責聲明

這篇文章僅供參考。 在使用所提供的任何信息之前,請認真思考。 從中學到東西,但最終自己做出決定,風險自負。

要求

我使用以下主要技術完成了本文的所有工作。 您可能可以使用不同的技術或版本來做相同的事情,但不能保證。

  • NetBeans 11.2
  • Maven 3.3.9(與NetBeans捆綁在一起)
  • Maven發布插件2.5.1
  • Java 11(zulu11.35.15-ca-jdk11.0.5-win_x64)
  • 適用于Windows 2.25.0的Git

注意 Maven版本插件假定可執行文件(如git)在PATH 。 如果遇到找不到git命令的錯誤,則需要確保Git的安裝獨立于IDE且位于PATH 。

下載

訪問我的GitHub頁面https://github.com/mjremijan以查看我所有的開源項目。 這篇文章的代碼位于: https : //github.com/mjremijan/thoth-maven-release-plugin

安裝Git

您需要做的第一件事是安裝Git。 即使Git已集成到您的IDE中(與NetBeans一樣),Maven發行版插件仍假定其所需的可執行文件在PATH上可用。 為您的環境下載,安裝和配置PATH。

POM <scm>標簽

您需要做的第二件事是配置POM <scm>標簽。 當Maven版本插件運行時,它使用<scm>標記值來標識源控制系統的位置。

相關配置如下,請參閱GitHub上的完整pom.xml 。

因為我想在本地運行并且不連接到生產源代碼控制系統,所以我的示例使用了Git。 Git不需要服務器就可以很好地運行。 讓我們看一下<scm>標簽。

清單1 – <scm>標簽

<scm> <url>scm:git:file: //D:/Projects/thoth-maven-release-plugin/.git</url> <url>scm:git:file: //D:/Projects/thoth-maven-release-plugin/.git</url> <connection> scm:git:file: //D:/Projects/thoth-maven-release-plugin/.git</connection> scm:git:file: //D:/Projects/thoth-maven-release-plugin/.git</connection> <developerConnection> scm:git:file: //D:/Projects/thoth-maven-release-plugin/.git scm:git:file: //D:/Projects/thoth-maven-release-plugin/.git </developerConnection> </scm>

清單1中的代碼顯示了<scm>標記的配置。 顯然,在我的計算機的文件系統上對該項目的.git文件夾的引用應該很.git 。 您必須為您的計算機更改此值。 請記住,目標是在本地工作! 此配置將您帶到那里。

配置<scm>標記后,下一步是配置maven-release-plugin。 接下來讓我們看看。

POM Maven-發布插件

第三件事是配置maven-release-plugin工件。 此配置用于Maven登臺存儲庫。

相關配置如下,請參閱GitHub上的完整pom.xml 。 讓我們看一下這個配置。

清單2 – maven-release-plugin標簽

<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-release-plugin</artifactId> <version> 2.5 . 1 </version> <dependencies> <dependency> <groupId>org.apache.maven.shared</groupId> <artifactId>maven-invoker</artifactId> <version> 2.2 </version> </dependency> </dependencies> <configuration> <stagingRepository> localforme:: default ::file: //C:/Users/Michael/.m2/repository ::file: //C:/Users/Michael/.m2/repository </stagingRepository> </configuration> </plugin> .... </build>

第6行將maven-release-plugin設置為2.5.1版。 這是我研究時(2019年第二季度)的最新情況。 使用低于2.5.2的版本還有一些其他問題,我將在接下來的內容中介紹。

第8行將maven-invoker依賴項設置為2.2版。 Maven 3.3將腳本名稱(在Windows上)從mvn.bat更改為mvn.cmd 。 2.5.2版以下的maven-release-plugin假設使用mvn.bat 。 將maven-invoker更改為2.2版會將假設更改為mvn.cmd以便可以使用Maven 3.3+(Lucas,2015年)。 如果您使用大于或等于2.5.2版的maven-release-plugin,則不需要此maven-invoker配置。

第15行設置Maven登臺存儲庫的位置。 通常,您可以在settings.xml中進行settings.xml 。 如果未設置,則會出現構建錯誤。 我在這里展示了如何配置它。 如果您在settings.xml擁有它,則可以刪除此配置。

現在已經配置了pom.xml ,接下來讓我們看看如何運行它。

MVN命令

現在已經設置好配置,是時候運行Maven項目并測試一切正常了。 清單3顯示了mvn的屬性和開關。

清單3 – mvn命令

mvn -Dmaven.test.skip= true -Dmaven.javadoc.failOnError= false --batch-mode release:clean release:prepare release:stage

此命令行沒有太多內容。 第4行是最重要的。 它指定要執行的Maven-release-plugin目標。

現在您可以進行測試了。 運行命令,看看會發生什么。

摘要

如果您使用的是NetBeans之類的IDE,當在文件系統上檢測到更改時自動監視并重新加載文件,則可以打開pom.xml ,然后運行mvn命令,最后觀察<version>標記隨Maven的變化而自動更改。運行。 這樣,您可以從<version>標記的任意值開始,并研究如何自動更改它。 請享用!

參考資料

盧卡斯 (2015年7月1日)。 無法執行目標Maven準備的 [Web日志注釋]。 堆棧溢出。 從https://stackoverflow.com/questions/29755620/failed-to-execute-goal-maven-releaseprepare檢索。

翻譯自: https://www.javacodegeeks.com/2020/02/testing-maven-release-plugin-auto-increment-version-number.html

maven 版本號插件

總結

以上是生活随笔為你收集整理的maven 版本号插件_测试Maven版本插件自动递增版本号的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。