我正在使用Tomcat 7,并且想在war文件本身中设置war文件的上下文根,并让Tomcat自动部署并选择此路径。我以为我找到了方法,可以通过将context.xml放入其中包含的战争的META- INF目录中。
<?xml version="1.0" encoding="UTF-8"?> <Context path="/somepath/myapp"/>
但这似乎不起作用,我认为它是由http://tomcat.apache.org/tomcat-7.0-doc/api/org/apache/catalina/startup/SetContextPropertiesRule.html加载的,它声明除了路径!
我知道我可以将战争命名为somepath#myapp.war,它将被选中,但我也部署到对这样的名称不满意的weblogic中。
我可以使用一些设置来使上面的context.xml中的路径起作用吗?
谢谢大卫
语境path除非在指定的路径属性将被忽略的硬编码Context在server.xml,这是强烈反对,并没有考虑多路径。
path
Context
server.xml
war文件的名称或Context xml文件的名称将tomcat/conf/Catalina/hostname成为path已部署应用程序的名称。
tomcat/conf/Catalina/hostname
就您而言,上述两种方法中的后一种是解决方案,只需确保将.war文件放在appBase主机指定的文件之外,否则将部署该应用两次。
.war
appBase
在: conf/Catalina/localhost/myapp#path.xml
conf/Catalina/localhost/myapp#path.xml
<?xml version="1.0"?> <Context docBase="/some/path/to/myapp.war"> </Context>