一:错误原因
假设要部署工程 “ASW”, 放到了
${catalina.home}/webapps下。(这相当于隐性的定义了一个 docBase ,指向”${catalina.home}/webapps/ASW” )。首先,会在
${catalina.home} /conf/Catalina/localhost下建立了配置文件 ASW.xml然后,在ASW.xml 中会定义了 docBase ,目标指向 ”
${catalina.home}/webapps/ASW”这 样,在 Tomcat 启动的时候,先找到了${catalina.home} /conf/Catalina/localhost/ASW.xml 配置文件中定义的 docBase, 然后 Tomcat 自动检测
${catalina.home}/webapps下是否存放了合法的工程,并自动加载(根据配置文件的设置)。这样,Tomcat又找到了一个相同的 docBase, 所以输出了错误信息。根本原因,两次加载ASW.xml
(1)tomca根据${catalina.home} /conf/Catalina/localhost/ASW.xml文件,自动加载docBase项目到${catalina.home}/webapps/ASW下,
(2)同时也会加载${catalina.home}/webapps/ASW下被隐性定义的 docBase ,结果导致重复指向${catalina.home}/webapps/ASW
二:解决办法
将 ASW 工程 从 ${catalina.home}/webapps 目录移出, 然后 修改 配置文件 ASW.xml 指向该目录。
本文详细解析了Tomcat启动时重复加载同一配置文件ASW.xml的问题,并给出了具体的解决方案,帮助读者理解Tomcat的工作机制。
2184

被折叠的 条评论
为什么被折叠?



