Java 如何在Tomcat中配置环境变量?
我有一个作为WAR文件部署到Tomcat的应用程序。我已将此应用程序中的属性外部化,以便它读取tomcat中的环境变量以了解配置文件的位置:Java 如何在Tomcat中配置环境变量?,java,tomcat,grails,Java,Tomcat,Grails,我有一个作为WAR文件部署到Tomcat的应用程序。我已将此应用程序中的属性外部化,以便它读取tomcat中的环境变量以了解配置文件的位置: def exConfig = ((Context)(new InitialContext().lookup("java:comp/env"))).lookup("grailsExtConfFile") 我当前配置此文件的方式是在“../conf/Catalina/localhost/foo.xml”中创建一个与我的war文件同名的文件(即,如果foo.w
def exConfig = ((Context)(new InitialContext().lookup("java:comp/env"))).lookup("grailsExtConfFile")
我当前配置此文件的方式是在“../conf/Catalina/localhost/foo.xml”中创建一个与我的war文件同名的文件(即,如果foo.war
,则创建foo.xml
)
<Environment name="grailsExtConfFile" value="file:/usr/share/apache-tomcat-7.0.39/configs.groovy" type="java.lang.String"/>
</Context>
这一切都很好。但是,每次我重新部署时,上面的文件都会被删除,我需要重新创建它
问题
有没有一种方法可以将此配置为每次重新部署文件
foo.xml
时都不会被删除?对不起,也许我没有正确阅读此内容-为什么不将配置放在tomcat之外?例如在/mnt/appconfig/foo-app/foo.xml中—如果这是NFS/SAN装载,则所有节点都可以从中读取