是否有可能獲得project.version
的主要版本(<Major>.<Minor>.<Patch>
)?如何獲取semver Maven版本的主要部分?
例如,如果我的版本是1.3.4
,我想獲得1
在相同的pom.xml
東西等的配置在以後使用它:
<configuration>
<name>project_name.${project.version:major}</name>
</configuration>
如果不是,是替代品嗎?
是否有可能獲得project.version
的主要版本(<Major>.<Minor>.<Patch>
)?如何獲取semver Maven版本的主要部分?
例如,如果我的版本是1.3.4
,我想獲得1
在相同的pom.xml
東西等的配置在以後使用它:
<configuration>
<name>project_name.${project.version:major}</name>
</configuration>
如果不是,是替代品嗎?
找到它。 build-helper-maven-plugin有能力解析出版本的組件。
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.5</version>
<executions>
<execution>
<phase>initialize</phase>
<id>parse-version</id>
<goals>
<goal>parse-version</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.1</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<echo>[version] ${project.version}</echo>
<echo>[majorVersion] ${parsedVersion.majorVersion}</echo>
</tasks>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
+1 - 我多年來一直在使用Maven,但並不知道這件事! – SingleShot 2011-10-24 03:36:15
很好的幫助 - 謝謝 – samael 2014-09-11 11:25:07
版本不一定進來你所描述的結構。
Maven的有尾號公約,但你沒有使用它們。
如果你有你喜歡的,你要拆開一個約定,你可以寫你自己的Maven插件,設置了幾個屬性的幾件你定義它們。
根據到Sonatype的[Maven參考文檔](http://www.sonatype.com/books/mvnref-book/reference/pom-relationships-sect-pom-syntax.html)有一個約定(您可以自由違反)。 – SingleShot 2011-10-24 03:34:24
這部作品的Maven 3.3.9:
${project.artifact.selectedVersion.majorVersion}
這對我在maven 3.3.9中工作得非常好。任何想法,如果這是一個標準的maven事情?我找不到該變量的官方maven文檔 – 2017-11-03 21:55:54
我可以說'$ {project.artifact}'是一個很好的技巧,但不是一個標準。官方只有'$ {project}',請參閱https://maven.apache.org/pom.html – 2017-11-04 02:12:37
值得注意的是Maven不使用http://SemVer.org版本規範。它使用它自己的約定,它非常相似。在這裏閱讀它(在3.3.1「項目版本」部分下)... http://www.sonatype.com/books/mvnref-book/reference/pom-relationships-sect-pom-syntax.html – 2012-05-09 22:07:40