【发布时间】:2018-05-07 17:53:15
【问题描述】:
我有弹簧启动应用程序。
在这个 spring boot (fat-jar) 应用程序中,我有 classpath:config/application.properties 和 classpath:application-env.properties。
我正在使用命令启动此应用程序:
java -Dspring.profiles.active=env -jar application.jar --some-parameter=some-value
问题:为什么 application.properties 文件在我的依赖中本地化的类(bean)中初始化此应用程序时不可用?
此文件 (application.properties) 本地化为我的依赖项的 classpath:application.properties。
我期待一些带有特定前缀的属性 - 使用注释:
@ConfigurationProperties(prefix = "someprefix")
换句话说,同样的:
应用A有classpath:config/application.properties
+ 应用程序 A 具有/正在使用对某些工件 D 的依赖关系
依赖(jar)D.jar有classpath:application.properties
此 application.properies 在使用注释 @ConfigurationProperties(prefix = "someprefix")
B 初始化期间不可用
根据24.3 Application property files“类路径根”应该没问题 - 但事实并非如此。
这是 fat-jar 应用程序 - 在一个大 jar 中我们拥有一切 - 包括文件夹 'lib' 以及所有依赖项。
【问题讨论】:
标签: spring-boot configuration dependency-properties