一:错误原因
假设要部署工程 “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 指向该目录。