如何使用maven在pom.xml中获取特定版本ID作为属性

如何使用maven在pom.xml中获取特定版本ID作为属性,maven,pom.xml,Maven,Pom.xml,My pom包含一个版本号,该版本号遵循类似于2.0-SNAPSHOT的顺序,同时我们使用清单文件构建项目,该清单文件需要部分版本号,因为其他项目依赖于特定版本,但是为了简化部分开发,我们使用2.0作为实现版本,因此,在依赖项设置中,我们不必在2.0-SNAPSHOT和2.0之间切换。我想知道是否可以将-SNAPSHOT从${project.version}中排除,这样我们就不必手动维护变量了?出于这种目的,正确的方法如下: <project> ... <build&g

My pom包含一个版本号,该版本号遵循类似于2.0-SNAPSHOT的顺序,同时我们使用清单文件构建项目,该清单文件需要部分版本号,因为其他项目依赖于特定版本,但是为了简化部分开发,我们使用2.0作为实现版本,因此,在依赖项设置中,我们不必在2.0-SNAPSHOT和2.0之间切换。我想知道是否可以将-SNAPSHOT从${project.version}中排除,这样我们就不必手动维护变量了?

出于这种目的,正确的方法如下:

<project>
  ...
  <build>
    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
        <version>1.8</version>
        <executions>
          <execution>
            <id>parse-version</id>
            <goals>
              <goal>parse-version</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
  ...
</project>
除此之外,您需要2.0作为发布版本,而您还没有发布工件,这听起来很奇怪。因此,您应该考虑使用发布工件,这将更改当前项目的版本。

您应该发布工件。
parsedVersion.majorVersion
parsedVersion.minorVersion
parsedVersion.incrementalVersion
parsedVersion.qualifier
parsedVersion.buildNumber