我正在使用Gradle的Spring Boot(2.0.0.M7)的里程碑分支。 我在application.properties
中有一些值app.name=MyApp
app.description=Hello from MyApp
app.version=1.0
在我的application-DEV.properties中我有
app.version=1.0-DEV
在我的SpringBootApplication中,我将值注入
@Value("${app.name}")
private String name;
@Value("${app.version}")
private String version;
我把application-default.properties放在当前目录中,后面有数据
app.version=1.0-DEVX
spring.profiles.active=DEV
当我从IDE运行SpringBootApplication时,它运行正常。 但是当我构建jar并将其作为java -jar MyApplication.jar运行时,它会给出错误
无法解决占位符' app.name'价值" $ {app.name}"
如果我将所有值复制到application-default.properties或application-DEV.properties中,它可以正常工作。 如果我使用Spring Boot 1.5.9-RELEASE或更早版本,它也可以正常工作。
我没有看到配置文件覆盖的任何文档已更改。也许这是一个错误?
答案 0 :(得分:0)
有一个application.properties打包在另一个jar中导致了这个问题。从该jar中删除application.properties后,它按预期工作。