大佬教程收集整理的这篇文章主要介绍了如何将Spring Boot application.properties外部化为tomcat / lib文件夹,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
logging.config=classpath:myapp1/logBACk.xml
logging.path = /path/to/logs
logging.file = myapp1.log
@H_673_2@将被忽略,日志系统将无法正常工作。
@H_673_2@为了解决这个问题,我已经在配置应用程序时使用SpringApplicationBuilder.propertIEs()方法在开始时加载属性。在那里,我设置了Spring
Boot用来加载所有application- {profiles} .propertIEs的“ spring.config.LOCATIOn”:
public class Application extends SpringBootServleTinitializer {
@OverrIDe
protected SpringApplicationBuilder configure(SpringApplicationBuilder springApplicationBuilder) {
return springApplicationBuilder
.sources(Application.class)
.propertIEs(getPropertIEs());
}
public static voID main(String[] args) {
SpringApplicationBuilder springApplicationBuilder = new SpringApplicationBuilder(Application.class)
.sources(Application.class)
.propertIEs(getPropertIEs())
.run(args);
}
static PropertIEs getPropertIEs() {
PropertIEs props = new PropertIEs();
props.put("spring.config.LOCATIOn", "classpath:myapp1/");
return props;
}
}
@H_673_2@然后,我已将属性文件从src / main / resources移至src / main / resources / myapp1
.
├src
| └main
| └resources
| └myapp1
| └application.propertIEs
| └application-development.propertIEs
| └logBACk.xml
└─pom.xml
@H_673_2@在pom.xml中,我必须将嵌入式tomcat库的范围设置为“提供”。另外,要从最终战争中排除src / main / resources /
myapp1中的所有属性文件,并生成免费的,可部署的战争:
<plugin>
<artifactID>maven-war-plugin</artifactID>
<version>2.6</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
<packagingExcludes>
**/myapp1/
</packagingExcludes>
</configuration>
</plugin>
@H_673_2@然后在tomcat中
├apache-tomcat-7.0.59
└lib
├─myapp1
| └application.propertIEs
| └logBACk.xml
└─myapp2
└application.propertIEs
└logBACk.xml
@H_673_2@现在,我可以生成免配置的war并将其放到apache-tomcat-7.0.59 /
webapps文件夹中。属性文件将使用类路径(对于每个Web应用程序)独立解析:
apache-tomcat-7.0.59/lib/myapp1
apache-tomcat-7.0.59/lib/myapp2
apache-tomcat-7.0.59/lib/myapp3
tomcat/lib/myapp1/application.properties
tomcat/lib/myapp2/application.properties
tomcat/lib/myapp3/application.properties
@H_673_2@这样,我可以构建战争文件,而无需在战争内部创建任何属性文件,然后将其部署在任何服务器上。
@H_673_2@我已经阅读了Spring文档,但是它解释了以jar运行时如何设置位置:
java -jar myapp.jar --spring.config.LOCATIOn=classpath:/default.properties,classpath:/override.properties
@H_673_2@对于多个同时存在的战争文件,我无法弄清楚该如何做。
@H_673_2@我想知道这是否可行,还是应该放弃Spring Boot并回到传统的Spring MVC应用程序。
以上是大佬教程为你收集整理的如何将Spring Boot application.properties外部化为tomcat / lib文件夹全部内容,希望文章能够帮你解决如何将Spring Boot application.properties外部化为tomcat / lib文件夹所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。