我们正在使用spring boot 1.3.1。 我在application.yml文件中有以下详细信息。
info:
build:
artifact: ${project.artifactId}
name: ${project.name}
description: ${project.description}
version: ${project.version}
我正在构建war文件并将其部署到tomcat。当我访问/ info端点时,我看不到值被替换。
我没有使用'spring-boot-maven-plugin',因为我不需要独立运行应用程序。
默认情况下,过滤是否适用于YML文件?
另外,有没有使用maven project.version属性在banner.txt文件上显示应用程序版本的示例?
在Dave的评论之后,我更新了我的application.yml文件,如下所示,它正在运行。
info:
build:
artifact: @project.artifactId@
name: @project.name@
description: @project.description@
version: @project.version@
另外,我发现在banner.txt文件的独立tomcat中没有选择application.version。 Tomcat无法读取manifest.mf文件。 Spring引导问题:https://github.com/spring-projects/spring-boot/issues/3406
答案 0 :(得分:3)
我认为默认情况下maven中没有打开过滤功能。如果使用spring-boot-starter-parent,则启用 ,但占位符的键为CustomMarker processMarkerUpdate(JSONObject json) {
CustomMarker cm = new CustomMarker(json.optDouble("latitude", 0.0), json.optDouble("longitude",0.0));
if (json.has("id")) {
cm.setUid(json.getString("id"));
} else {
//If this happens, we stop processing.
throw new InvalidCMException();
}
cm.setLabel(json.optString("label", ""));
return cm;
}
而不是@..@
。
答案 1 :(得分:1)
我不知道您使用的是哪个版本的弹簧靴,
但对我来说version: @project.version@
没有用。
相反,version: #project.version#
为我工作。
我的项目有以下父pom配置:
<parent>
<artifactId>spring-boot-starter-parent</artifactId>
<groupId>org.springframework.boot</groupId>
<version>1.4.1.RELEASE</version>
<relativePath />
</parent>