1

次のような複数のMavenプロジェクトがあります。

root/
----war
----jar1
----jar2
----jar3

戦争はjar1、jar2、およびjar3を使用します

「mvn clean install」を実行すると、コンパイルされた war は良好で、サーバー (jboss) で正常に動作します。「mvn eclipse:eclipse」を実行して Eclipse 構成を生成すると、ビルドは機能しますが、プロジェクトを Eclipse (Indigo) にインポートし、自分のサーバーで戦争を公開すると、jar1、jar2、jar3 は公開されません。

war ビルド パスの構成では、jar1、jar2、jar3 が適切に構成されています。

ここに画像の説明を入力

しかし、war プロジェクトの配置アセンブリを見ると、次のエラーがあります。

ここに画像の説明を入力

war プロジェクト用に生成された .classpath ファイルは次のとおりです。

<classpath>
  <classpathentry kind="src" path="src/main/java" including="**/*.java"/>
  <classpathentry kind="src" path="src/main/resources" excluding="**/*.java"/>
  <classpathentry kind="output" path="target/classes"/>
  <classpathentry kind="var" path="M2_REPO/javax/faces/jsf-api/1.2_13/jsf-api-1.2_13.jar" sourcepath="M2_REPO/javax/faces/jsf-api/1.2_13/jsf-api-1.2_13-sources.jar">
    <attributes>
      <attribute value="jar:file:/Users/Kiva/java/repoMaven/javax/faces/jsf-api/1.2_13/jsf-api-1.2_13-javadoc.jar!/" name="javadoc_location"/>
    </attributes>
  </classpathentry>
  <classpathentry kind="var" path="M2_REPO/javax/faces/jsf-impl/1.2_13/jsf-impl-1.2_13.jar" sourcepath="M2_REPO/javax/faces/jsf-impl/1.2_13/jsf-impl-1.2_13-sources.jar"/>
  <classpathentry kind="var" path="M2_REPO/javax/servlet/servlet-api/2.5/servlet-api-2.5.jar" sourcepath="M2_REPO/javax/servlet/servlet-api/2.5/servlet-api-2.5-sources.jar"/>
  <classpathentry kind="var" path="M2_REPO/javax/servlet/jsp/jsp-api/2.1/jsp-api-2.1.jar" sourcepath="M2_REPO/javax/servlet/jsp/jsp-api/2.1/jsp-api-2.1-sources.jar"/>
  <classpathentry kind="var" path="M2_REPO/javax/servlet/jstl/1.2/jstl-1.2.jar" sourcepath="M2_REPO/javax/servlet/jstl/1.2/jstl-1.2-sources.jar"/>
  <classpathentry kind="var" path="M2_REPO/javax/el/el-api/1.0/el-api-1.0.jar" sourcepath="M2_REPO/javax/el/el-api/1.0/el-api-1.0-sources.jar">
    <attributes>
      <attribute value="/WEB-INF/lib" name="org.eclipse.jst.component.dependency"/>
    </attributes>
  </classpathentry>
  <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
  <classpathentry kind="src" path="/jar1"/>
  <classpathentry kind="src" path="/jar2"/>
  <classpathentry kind="src" path="/jar3"/>
  <classpathentry kind="var" path="M2_REPO/org/springframework/spring-core/3.0.5.RELEASE/spring-core-3.0.5.RELEASE.jar" sourcepath="M2_REPO/org/springframework/spring-core/3.0.5.RELEASE/spring-core-3.0.5.RELEASE-sources.jar">
    <attributes>
      <attribute value="/WEB-INF/lib" name="org.eclipse.jst.component.dependency"/>
    </attributes>
  </classpathentry>
</classpath>

これが私のEclipseプラグイン構成です:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-eclipse-plugin</artifactId>
    <configuration>
        <wtpversion>2.0</wtpversion>
        </configuration>
</plugin>

プラグイン構成が間違っている理由と、Eclipse が jar を見つけられない理由がわかりません。

ご協力いただきありがとうございます。

4

3 に答える 3

0

私は問題を見つけました。

jbossツールのMavenサポートプラグイン(jbossツールを使用してインストール)は、プロジェクト間のリンクを解除します。アンインストールすると問題が解決します。

Mavenサポートのみをアンインストールして残りを保持することは可能です;)

于 2012-03-21T20:02:35.460 に答える
0

Eclipseマルチプロジェクトのインポート/エクスポートを試してみることができます。私はそれがあなたのニーズをカバーすると思います。

于 2012-03-18T22:01:22.593 に答える
0

その場合の最も重要なことは、次のとおりです。Eclipse:Eclipse を使用しないでください。代わりに、Maven との関係で m2e プラグインを使用してください。プロジェクトをインポートするだけです。Eclipse Marketplace 経由で wtp の m2e を追加する必要があります。その後、戦争をサーバーに展開できるはずです。

于 2012-03-17T21:13:41.470 に答える