当我使用war插件时,我可以这样做:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.0.2</version>
<configuration>
<archive>
<manifest>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
</manifest>
<manifestEntries>
<Implementation-Build>${buildNumber}</Implementation-Build>
</manifestEntries>
</archive>
</configuration>
</plugin>
在我的src / main / resources中,我有一个文件(build.properties)将它映射到Spring Environment属性:
build.revision=${buildNumber}
使用spring-boot-maven-plugin有没有办法实现这个目标?
答案 0 :(得分:2)
Using spring-boot-starter-parent
给你(根据文件)
针对application.properties和application.yml的合理资源过滤,包括特定于配置文件的文件(例如application-foo.properties和application-foo.yml)&#34;。由于默认配置文件接受Spring样式占位符($ {...}),因此Maven过滤更改为使用@ .. @占位符(您可以使用Maven属性resource.delimiter覆盖它)。
因此,application.properties中的@buildNumber@
可能适合您。
我不确定&#34;合理过滤&#34;适用于其他(非应用程序配置)资源文件(例如您的build.properties
)。也许也可以尝试一下。
Pure Maven选项:
你可以opt in to the Maven resource filtering:
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
这将重写您的${variable}
表达式。
如果您的文件中不应该接受此处理(例如包含运行时占位符或二进制文件的文件),您还可以设置单独的resources-filtered
目录。