警告: A docBase has been specified, and will be ignored

一:错误原因

  • 假设要部署工程 “ASW”, 放到了 ${catalina.home}/webapps 下。(这相当于隐性的定义了一个 docBase ,指向” ${catalina.home}/webapps/ASW ” )。

  • 首先,会在${catalina.home} /conf/Catalina/localhost 下建立了配置文件 ASW.xml

    警告: A docBase has been specified, and will be ignored_第1张图片

  • 然后,在ASW.xml 中会定义了 docBase ,目标指向 ” ${catalina.home}/webapps/ASW

    警告: A docBase has been specified, and will be ignored_第2张图片

  • 这 样,在 Tomcat 启动的时候,先找到了${catalina.home} /conf/Catalina/localhost/ASW.xml 配置文件中定义的 docBase, 然后 Tomcat 自动检测 ${catalina.home}/webapps 下是否存放了合法的工程,并自动加载(根据配置文件的设置)。这样,Tomcat又找到了一个相同的 docBase, 所以输出了错误信息。

  • 根本原因,两次加载ASW.xml

    警告: A docBase has been specified, and will be ignored_第3张图片

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 指向该目录。

你可能感兴趣的:(Tmocat)