对pom.xml中标记的引用



如何或一般地引用java中pom.xml中的标记?您可以在pom中使用例如:<outputDirectory>${project.build.directory}进行引用。

但我想做这样的事情:

...
System.out.println(${project.version});
...

这可能吗?

在构建时,您可以过滤一些资源文件,以便在运行时读取文件并获得您要查找的值:

http://maven.apache.org/plugins/maven-resources-plugin/examples/filter.html

  <resource>
    <directory>src/main/resources</directory>
    <filtering>true</filtering>
  </resource>

或者,如果它更复杂,你可以使用汇编插件:

https://maven.apache.org/plugins/maven-assembly-plugin/examples/single/filtering-some-distribution-files.html

例如:src/main/resources/info.properties

VERSION=${project.version}

运行时:

    Properties props = new Properties();
    props.load(this.getClass().getResourceAsStream("info.properties"));
    System.out.println(props.get("VERSION"));

最新更新