0

2 つの子モジュール A と B を持つ Maven 親プロジェクト P があります。A と B はどちらも P フォルダー内にあります。P のpom.xmlには、次のようなモジュール セクションがあります。

<modules>
  <module>A</module>
  <module>B</module>
</modules>

Aは持っています(そしてBはアーティファクトを除いて同じです):

<parent>
  <groupId>some.group</groupId>
  <artifactId>A</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <relativePath>../pom.xml</relativePath>
</parent>

ここで、A のpom.xmlに追加して、A を B に依存させました。

<dependencies>
  <dependency>
    <groupId>some.group</groupId>
    <artifactId>B</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <type>jar</type>
    <scope>compile</scope>
  </dependency>
</dependencies>

mvn installP でa を実行すれば、すべて問題ありません。ただし、mvn eclipse:eclipseP で実行した後、A で生成された.classpathファイルは正しくなく、Eclipse は B からの依存関係を解決できません。

生成された.classpathには以下が含まれます。

<classpathentry kind="src" path="/B"/>

働く代わりに

<classpathentry kind="var" path="M2_REPO/some/group/B/0.0.1-SNAPSHOT/B-0.0.1-SNAPSHOT.jar"/>

何が間違っている可能性がありますか?ありがとうございました。

4

1 に答える 1

2

プロパティ useProjectReferences を false (-DuseProjectReferences=false) に設定すると、希望どおりに動作するはずです (デフォルトは true)。こちらのドキュメントをご覧ください

于 2011-06-30T16:30:49.000 に答える