问题
在Eclipse调试会话期间,“ web.xml”将始终部署到错误的文件夹中。 总是由手动将Java Web项目迁移或转换为Maven的项目引起的 。
请参阅Eclipse的工作区文件夹结构,Eclipse中的Tomcat将“ web.xml”部署到错误的文件夹中,并导致整个Web应用程序无法运行。
E:\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\
wtpwebapps\serlvetdemo\WEB-INF\classes\WEB-INF\web.xml
正确的“ web.xml”位置应位于
E:\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\
wtpwebapps\serlvetdemo\WEB-INF\web.xml
解
实际上,Eclipse中有一个设置文件来控制Tomcat中的部署路径,该文件名为“ org.eclipse.wst.common.component ”。
<!-- This is org.eclipse.wst.common.component original content -->
<?xml version="1.0" encoding="UTF-8"?>
<project-modules id="moduleCoreId" project-version="1.5.0">
<wb-module deploy-name="serlvetdemo">
<wb-resource deploy-path="/" source-path="/WebContent"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
<property name="java-output-path"/>
<property name="context-root" value="servletdemo"/>
</wb-module>
</project-modules>
部署路径错误,Maven项目中不再需要“ / WebContent ”,将其替换为“ src / main / webapp ”,如下所示
<!-- This is org.eclipse.wst.common.component modified content -->
<?xml version="1.0" encoding="UTF-8"?>
<project-modules id="moduleCoreId" project-version="1.5.0">
<wb-module deploy-name="serlvetdemo">
<wb-resource deploy-path="/" source-path="/src/main/webapp"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
<property name="java-output-path"/>
<property name="context-root" value="servletdemo"/>
</wb-module>
</project-modules>
完成后,Eclipse和Tomcat插件可以正常工作,现在将“ web.xml”文件部署到正确的位置。
想法...。
这是由于手动迁移或将Java Web项目转换为Maven的项目引起的,希望Maven将来能推出迁移工具。
翻译自: https://mkyong.com/maven/tomcat-deploy-maven-project-web-xml-to-a-wrong-folder-in-eclipse/