【发布时间】:2016-10-13 10:59:00
【问题描述】:
我的 java 应用程序有多个版本的外部 context.xml,每个环境一个。计划是拥有一个 war 文件并使用正确的 context.xml 进行生产、登台、开发等。
我目前将 context.xml 复制/符号链接到 /usr/local/apache-tomcat-7.0.72/conf/Catalina/localhost/myapp.xml。然后我从我的来源创建战争文件并将其复制到/usr/local/apache-tomcat-7.0.72/webapps。 catalina 正在运行并分解 webapps 文件夹中的 war 文件。同时它会从 conf 文件夹中删除我的 myapp.xml。出于这个原因,我的应用程序没有加载正确的配置并失败。如果我再次复制 myapp.xml 并重新启动 tomcat 就可以了。
有没有办法告诉tomcat在提取war文件时不要删除我的conf文件?或者有没有更好的地方存放external context.xml
【问题讨论】:
-
为什么? Tomcat 会将 META-INF/context.xml 中的那个复制到你的 WAR 文件中。您无需自己进行任何手动复制。
-
@EJP context.xml 不是代码存储库的一部分。开发人员有自己的用于测试目的的凭据,并且不知道实时数据库凭据。一旦war文件上传到artifactory,就可以使用正确的context.xml在不同的环境中使用。
标签: java tomcat spring-boot