誰能告訴我如何將 semver 應用于 java maven 專案?我嘗試了很多方法,但是我沒有找到任何有用的資源來在我將代碼推送到分支時自動增加版本。我正在使用 Github 操作作業流將專案部署到 GitHub。
謝謝你。
uj5u.com熱心網友回復:
我的第一種方法是使用命令列,但您必須先在 pom 檔案中配置以下內容。您當然可以直接使用命令列并將所有內容放在普通命令上,無需此設定,但這非常不方便
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.2.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.2.0</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>3.2.0</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
<version>2.9.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M5</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.9.0</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
<executions>
<execution>
<id>major</id>
<goals>
<goal>set</goal>
</goals>
<configuration>
<generateBackupPoms>false</generateBackupPoms>
<newVersion>${parsedVersion.nextMajorVersion}.0.0-SNAPSHOT</newVersion>
</configuration>
</execution>
<execution>
<id>minor</id>
<goals>
<goal>set</goal>
</goals>
<configuration>
<generateBackupPoms>false</generateBackupPoms>
<newVersion>${parsedVersion.majorVersion}.${parsedVersion.nextMinorVersion}.0-SNAPSHOT</newVersion>
</configuration>
</execution>
<execution>
<id>patch</id>
<goals>
<goal>set</goal>
</goals>
<configuration>
<generateBackupPoms>false</generateBackupPoms>
<newVersion>${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.nextIncrementalVersion}-SNAPSHOT</newVersion>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<id>default-cli</id>
<goals>
<goal>parse-version</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
通過使用上述配置,您可以像這樣更改/更新專案的版本:
mvn build-helper:parse-version versions:set@major
這將增加主要版本并將次要版本和補丁版本設定為0.
mvn build-helper:parse-version versions:set@minor
這將增加次要版本并將補丁版本設定為零。
mvn build-helper:parse-version versions:set@patch
這將增加補丁版本。之后,您必須將更改提交回您的版本控制系統(例如 git)。
我建議將這種設定定義為父 pom 并將其重用于多個專案。可以在此處找到其作業原理和方式的詳細說明https://blog.soebes.de/blog/2021/04/05/maven-plugin-configuration/
使用 maven-release-plugin 也是一種選擇。它還將在您的版本控制中創建標簽。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/421532.html
標籤:
上一篇:Maven-組態檔取決于屬性?
下一篇:com.mongodb.MongoSocketOpenException:例外打開套接字(完全洗掉mongodb后)
