我正在 Eclipse Mars 下为 Tomcat 8 开发。 这是我在已发布的 server.xml 中的应用程序上下文:
<Context docBase="C:\automation\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\webapps\ROOT" path="" reloadable="false"/>
<Context docBase="AutomationWeb" path="/automation" reloadable="true" source="org.eclipse.jst.jee.server:AutomationWeb"/>
那里没有定义其他上下文。但是当我打开 tomcat 管理器应用程序时,我看到我的应用程序有 2 个上下文:
带有“/AutomationWeb”路径的一个, 其他带有“/automation”路径
我的应用没有 context.xml
我的发现:
- 他们共享我应用程序的 web.xml 中的显示名称
- 我的应用程序可以在两条路径上运行。
- 带有/AutomationWeb 路径的那个实际上是不可重载的
- 如果我从 Eclipse 中的 Tomcat 服务器中删除我的应用程序(Web 模块),这两个条目都会从 tomcat 管理器应用程序中消失。
- 在 Eclipse 中删除服务器并删除\workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\的内容没有帮助。
如何使用/AutomationWeb 路径删除不需要的应用程序上下文?我应该检查哪些配置?
最佳答案
通过将发布目录从 webapps 更改为 webappsauto 解决了这个问题。由于这条语句,问题似乎出在 server.xml 中:
<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">
关于Eclipse + Tomcat 8 - 应用双重部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33838579/