如何获得Maven版本的semver主要部分?
是否可以获取如何获得Maven版本的semver主要部分?,maven,semantic-versioning,Maven,Semantic Versioning,是否可以获取项目的主要版本(。)。版本 例如,如果我的版本是1.3.4,我希望以后在相同pom.xml的配置中使用1 比如: <configuration> <name>project_name.${project.version:major}</name> </configuration> 项目名称。${project.version:major} 如果没有,有哪些替代方案?版本不一定符合您描述的结构 Maven对尾随数字有约定,但您不
项目的主要版本(。
)。版本
例如,如果我的版本是1.3.4
,我希望以后在相同pom.xml的配置中使用1
比如:
<configuration>
<name>project_name.${project.version:major}</name>
</configuration>
项目名称。${project.version:major}
如果没有,有哪些替代方案?版本不一定符合您描述的结构 Maven对尾随数字有约定,但您不必使用它们 如果您有一个想要反汇编的约定,您可以编写自己的maven插件,在您定义这些约定时为这些约定设置若干属性。找到了它。可以解析出版本的组件
<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>
org.codehaus.mojo
构建助手maven插件
1.5
初始化
解析版本
解析版本
org.apache.maven.plugins
maven antrun插件
1.1
包裹
跑
[版本]${project.version}
[majorVersion]${parsedVersion.majorVersion}
这适用于Maven 3.3.9:
${project.artifact.selectedVersion.majorVersion}
根据Sonatype,有一个约定(你可以随意违反)。+1-我已经使用Maven很多年了,但并不知道这一点!值得注意的是,Maven没有使用版本控制规范。相反,它使用它自己的约定,这是非常相似的。请在此处阅读(在3.3.1“项目版本”部分下)。。。这在maven 3.3.9中对我非常有效。知道这是不是一个标准的maven事件吗?我找不到该变量的官方maven文档。我可以说,
${project.artifact}
是一个不错的技巧,但不是一个标准。官方上,只有${project}
,见@MarcosZolnowski,不正确,API是官方文档:该API是为插件开发人员提供的,对于maven用户没有任何保证。任何时候他们都可以改变这种行为。这不是插件api,而是核心api。插件api规范为: