我想从pom.xml中获取artifactId并使用此artifactId来填充属性文件。
的pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>xxxxx</groupId>
<artifactId>fm-service</artifactId>
<packaging>war</packaging>
<version>x.x.x-SNAPSHOT</version>
</project>
application.preperties
email.subject = "ALERT - [artifactId from pom.xml]"
有可能吗?如果是,如果没有,那么请建议替代方案。
答案 0 :(得分:3)
Maven提供了filter resources的方法。
首先,必须将文件application.properties
放入src/main/resources
目录。然后它的内容必须是:
email.subject = "ALERT - ${project.artifactId}"
最后(但并非最不重要)只需将此配置添加到您的POM:
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>
现在将过滤资源目录中的所有文件,这意味着内部的所有变量都将被解析。