2017-09-19 39 views
0

我有spring引导可执行jar(Jar1)。这个jar在它的lib文件夹中有一个依赖jar(Jar2),它包含一个属性文件,假设它是jar2props.properties。依赖jar中的属性不会加载到环境对象

当我使用java -jar Jar1.jar执行Jar1时,Jar2类无法加载jar2props.properties中的属性。我正在使用environment.getProperty("property1")来获取jar2类中的属性值。

但是,当我使用java -jar Jar1.jar --spring.config.location=classpath:/jar1props.properties,classpath:/jar2props.properties执行Jar1时,它工作正常。

是否有任何其他方式来成功执行Jar1而不明确指定spring.config.location?

回答

0

简短的回答,没有。

朗的答案,你也可以做到这一点的代码(如例如,从我的答案在这里:link

默认春天开机负荷从你的classpath只有application.properties/yml,如果你想它加载你需要告诉他需要加载什么以及从哪里加载。

看看Spring文档的这一部分以了解更多信息:docs

+0

谢谢汤姆的回复。如果我们采用通过代码加载属性文件的方法,我们是否需要在Jar2 Configuration类中编写一段逻辑?或在Jar1配置类? – Raja

+0

Jar1,你总是在你运行的jar中配置所有的东西(最后一个会用'java -jar'运行) – Tom