0

EclipseRun on Serverフィーチャーの奇妙な動作に遭遇しました。私の環境:

  • Eclipse Kepler SR 1, WTP
  • Apache Tomcat 7.0.37

Eclipse 内に 2 つの動的 Web プロジェクトがあります -ProjectAProjectB. どちらもフォルダーindex.xhtmlの直下にファイルがあります (実際には両方のプロジェクトが JSF プロジェクトです) 。それらをファイルとしてTomcatインストールのフォルダーWebContentにエクスポートすると、両方とも正常に動作します。機能を介してEclipseが管理するTomcatサーバーで実行すると、すべて問題ありません。しかし、 Eclipseから開始したい場合、正しいURLを介してリソースにアクセスすると、JSF サーブレットにアクセスすると、またはそれぞれエラーが発生します。( で始まるすべての URLは、.WARTomcat webappsProjectARun on ServerProjectBRun on Server404 errorhttp://localhost:8080/ProjectB/index.xhtmlindex.xhtml Not Found in ExternalContext as a Resourcehttp://localhost:8080/ProjectB/faces/index.xhtml/faces/JSF Servlet

Eclipse ワークスペース ( ) の Tomcat フォルダーにデプロイされたアプリケーションを見ると、 原因<eclipse-workspace>\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebappsが明らかになります。もちろん、アプリケーションサーバーはリソースを見つけることができません。
ProjectBWebContentWEB-INF

問題は、展開が失敗する理由と、これを回避する方法です。

Deployment AssemblyEclipse内の両方のプロジェクトのプロパティもチェックしました。両方とも、ソースから宛先フォルダーへのマッピングは同じ (デフォルト) です。.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>

奇妙ですね。誰でもアイデアはありますか?

4

1 に答える 1

1

この線

<wb-resource deploy-path="/WEB-INF/classes" source-path="/src"/>

wstソースを にパッケージ化するように指示します/WEB-INF/classesが、これは lib プロジェクトであるため、実行したくないことです。それをに変更する

<wb-resource deploy-path="/" source-path="/src"/>

トリックを行います。

于 2014-07-03T14:24:10.520 に答える