可以使用maven版本插入过滤后的资源文件吗?

mar*_*bol 4 maven-2 properties filter

我想知道,是否有可能获得当前使用的maven版本来过滤资源文件.

我有一个资源文件,由maven过滤:

version=${project.version}
buildDate=${timestampFormatted}
buildBy=${user.name}
name=${project.artifactId}
buildVersion=${build.number}
osName=${os.name}
osArch=${os.arch}
osVersion=${os.version}
fileEncoding=${file.encoding}
Run Code Online (Sandbox Code Playgroud)

现在我更愿意保存目前使用的maven版本.

有什么事${maven.version}吗?

非常感谢.

Pas*_*ent 5

构建辅助性Maven的插件可以做到这一点.查看build-helper:maven-version目标,它设置一个包含当前版本maven的属性(maven.version默认情况下).

例如,以下pom设置属性,然后使用该属性将maven版本保存到项目jar的清单中.

<project>
  ...
  <build>
    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
        <version>1.3</version>
        <executions>
          <execution>
            <id>maven-version</id>
            <goals>
              <goal>maven-version</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <version>2.2</version>
        <configuration>
          <archive>
            <manifestEntries>
              <Maven-Version>${maven.version}</Maven-Version>
            </manifestEntries>
          </archive>
        </configuration>
      </plugin>
    </plugins>
  </build>
  ...
</project>
Run Code Online (Sandbox Code Playgroud)