EclipseRun on Server
フィーチャーの奇妙な動作に遭遇しました。私の環境:
Eclipse Kepler SR 1, WTP
Apache Tomcat 7.0.37
Eclipse 内に 2 つの動的 Web プロジェクトがあります -ProjectA
とProjectB
. どちらもフォルダーindex.xhtml
の直下にファイルがあります (実際には両方のプロジェクトが JSF プロジェクトです) 。それらをファイルとしてTomcatインストールのフォルダーWebContent
にエクスポートすると、両方とも正常に動作します。機能を介してEclipseが管理するTomcatサーバーで実行すると、すべて問題ありません。しかし、 Eclipseから開始したい場合、正しいURLを介してリソースにアクセスすると、JSF サーブレットにアクセスすると、またはそれぞれエラーが発生します。( で始まるすべての URLは、.WAR
Tomcat webapps
ProjectA
Run on Server
ProjectB
Run on Server
404 error
http://localhost:8080/ProjectB/index.xhtml
index.xhtml Not Found in ExternalContext as a Resource
http://localhost:8080/ProjectB/faces/index.xhtml
/faces/
JSF Servlet
Eclipse ワークスペース ( ) の Tomcat フォルダーにデプロイされたアプリケーションを見ると、
原因<eclipse-workspace>\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps
が明らかになります。もちろん、アプリケーションサーバーはリソースを見つけることができません。ProjectB
WebContent
WEB-INF
問題は、展開が失敗する理由と、これを回避する方法です。
Deployment Assembly
Eclipse内の両方のプロジェクトのプロパティもチェックしました。両方とも、ソースから宛先フォルダーへのマッピングは同じ (デフォルト) です。.settings\org.eclipse.wst.common.component
ファイルの内容は次のとおりです。
<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
<wb-module deploy-name="ProfileAndGroupManagementGUI">
<wb-resource deploy-path="/" source-path="/WebContent" tag="defaultRootSource"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src"/>
<property name="context-root" value="ProfileAndGroupManagementGUI"/>
<property name="java-output-path" value="/ProfileAndGroupManagementGUI/build/classes"/>
</wb-module>
奇妙ですね。誰でもアイデアはありますか?