我经常问的关于 Tomcat 的问题。Tomcat 文档<Context>
。
不建议将元素直接放置在 server.xml 文件中。
但
此属性只能使用在 server.xml 中静态定义 Context 时。在所有其他情况下,路径将从 .xml 上下文文件或 docBase 使用的文件名推断出来。
即使在 server.xml 中静态定义 Context,也不得设置此属性,除非 docBase 不在 Host 的 appBase 下,或者 deployOnStartup 和 autoDeploy 都为 false。如果不遵循此规则,可能会导致双重部署。
问题:
1)我应该在哪里设置我的上下文path
(没有ROOT.war和ROOT.xml)(我必须在server.xml
,但不推荐)
2)什么是双重部署以及何时发生?
3)如果我将上下文设置path
为""
,并且我在下一个条目中docBase
设置:/opt/tomcat/conf/Catalina/mysite.dom/mysite.xml
catalina.out
17-Aug-2018 10:24:25.883 WARNING [main] org.apache.catalina.startup.HostConfig.deployDescriptor The path attribute with value [] in deployment descriptor [/opt/tomcat/conf/Catalina/mp.org/mp.xml] has been ignored
17-Aug-2018 10:24:25.890 WARNING [main] org.apache.catalina.startup.HostConfig.deployDescriptor A docBase [/var/www/ModularPlatform/target/web/mp] inside the host appBase has been specified, and will be ignored
但我可以通过这条途径解决——这是工作。
3.1 它为什么有效?
3.2 为什么 tomcat 试图忽略这一点?
4) 还有catalina.out
下一条条目:
17-Aug-2018 10:24:26.047 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/var/www/mysite/target/web/ROOT]
tomcat为什么要创建ROOT目录?
我有 Tomcat 9.0.10。
感谢您的耐心。
PS,抱歉我的英语不好。