这是一种将项目版本编写到文件中的简单过滤方法。
<build>
<resources>
<resource>
<directory>src/main/webapp</directory>
<includes>
<include>**/*.version</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
</build>
这是项目结构(省略了无关紧要的部分)
├───src
│ └───main
│ ├───java
│ │ └─── [...]
│ └───webapp
│ ├───META-INF
│ └───WEB-INF
│ ├───cfg
│ └───portal.version
└─── pom.xml
portal.version
${project.version}
这应该替换为pom.xml
的工件版本,但遗憾的是没有任何反应。怎么了?提前谢谢
答案 0 :(得分:4)
指定resource元素时,结果过滤的内容将复制到target / classes文件夹中。要过滤Web应用程序资源,您可以配置maven-war-plugin。
虽然要获得该版本,但在大多数情况下,最好在应用程序中读取标准的Maven属性文件,例如: META-INF\maven\<groupId>\<artifactId>\pom.properties
答案 1 :(得分:2)
要过滤网络资源,您可以使用the filtering capabilities of the war plugin。