Java 如何在tomcat服务器中外部化多个WebApp的配置?
我正在运行一个独立的Java 如何在tomcat服务器中外部化多个WebApp的配置?,java,spring,spring-boot,Java,Spring,Spring Boot,我正在运行一个独立的tomcatwebserver,其中包含多个不同的web应用程序(war文件) 问题:我想外部化一些敏感的应用程序。属性字段,如数据库帐户,每个字段针对每个应用程序进行分隔 我可以在启动时提供以下属性: --Dspring.config.additional location=/etc/java/ 问题:每个webapp都会加载相同的/etc/java/application production.properties文件!所以这没用 问题:如何按应用程序将它们分开,以便每个
tomcat
webserver,其中包含多个不同的web应用程序(war
文件)
问题:我想外部化一些敏感的应用程序。属性字段,如数据库帐户,每个字段针对每个应用程序进行分隔
我可以在启动时提供以下属性:
--Dspring.config.additional location=/etc/java/
问题:每个webapp都会加载相同的/etc/java/application production.properties
文件!所以这没用
问题:如何按应用程序将它们分开,以便每个webapp都加载自己的附加外部文件
与testserver上类似:
/etc/java/myapp1/application-test.properties
/etc/java/myapp2/application-test.properties
产品:
一种方法是创建键值文件,如test1.env、test2.env…
。内容将是:
DB_URL=test1DB
DB_USR=hi
DB_PWD=pwd
...
在application.properties
中,可以使用类似于db.url=${db\u url}的占位符
启动应用程序时,使用start(shell)脚本,导出
在*.env中的变量,并从给定的env
文件中获取源,以便在application.properties中填写正确的值。创建一个只包含敏感数据的新文件:
/src/main/resources/config/application production.properties
并添加一个.gitignore
,这样就不会提交此特定文件进行版本控制。您使用的是maven吗?您可以使用maven概要文件来实现这一点。
DB_URL=test1DB
DB_USR=hi
DB_PWD=pwd
...