TomcatはMavenプロジェクトのweb.xmlをEclipseの間違ったフォルダに展開します
問題
Eclipseのデバッグセッション中、「web.xml」は常に間違ったフォルダに展開されます。それはいつも手動のリンクによって起こります://maven/how-to-convert-java-web-project-to-maven-project/[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
解決策
実際にTomcatのデプロイメントパスを制御する設定ファイルがEclipseにあります。名前は ”
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”ファイルを正しい場所に配置してください。