2015-10-19 45 views
0

某些属性已包含在属性文件中,由Spring的ApplicationConfiguration文件(基于java的配置)引用。这些主要是url和数据库属性,这些属性会根据部署环境而有所不同。构建之后,部署之前的属性文件配置

该计划是将属性文件放在类路径中。 builld(詹金斯)拍摄后,我将如何更改属性文件。我应该能够更改属性文件并在相应的环境中再次部署它,而无需进行新的构建。有什么建议吗?

+2

将属性文件放在tomcat的conf目录下。该路径应该在它的类路径中 – Jens

+0

您是否在寻找比手动更换jar/war内的文件更复杂的东西(这是一个ZIP文件,所以任何archiever都会这样做)。如果是这样,你的要求是什么? –

+0

@JiriTousek号所以我只需要把战争文件,解压缩,编辑属性文件,然后再压缩它?但是我认为将它作为tomcat属性的一部分会更方便,这样部署团队可以根据环境来处理这个问题吗? – Chillax

回答

1

Spring文档提供了大量的细节在你的选择的外部化配置:

http://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html

可用的包括放置在你的classpath的根application.properties/application.yml选项,因此最简单的方法可能是将它在你的tomcat conf目录中。

+0

谢谢。我也这样做。把它放在tomcat的conf目录下。我在我的Spring配置文件中使用了 @PropertySource(“classpath:application.properties”)。但是,然后得到以下错误: java.io.FileNotFoundException:类路径资源[application.properties]无法打开,因为它不存在。我还能如何检索它? – Chillax

+0

如果Tomcat的conf目录不在您的应用程序的类路径中,可以使用'file:'和全限定目录进行测试。除此之外,也许要确保'catalina.properties'加载你的环境属性文件。请参阅:https://www.mulesoft.com/tcat/tomcat-classpath – Steve

相关问题