0

Aモジュール内のクラスに依存するMavenモジュールがありますB(どちらもプロジェクトの子モジュールです)。

A'spom.xmlには、次のものがあります。

  <dependencies>
    <dependency>
        <groupId>test.pack</groupId>
        <artifactId>B</artifactId>
        <version>1.0-SNAPSHOT</version>
    </dependency> 
  </dependencies>

しかし、をビルドしようとするとAB依存関係に正しく表示されないため、importステートメントAの'sパッケージにあるクラスでコンパイルエラーが発生します。これはのようになります。test.pack.packFromAimport test.pack.packFromB.*

そのため、B依存関係が正しく機能しません。しかし、からのBクラスはクラスパスにパックされて追加されるので、それらを使用できると思いました。その依存関係を追加しようとし<type>ましたが、それは役に立ちませんでした。私はここで何が間違っているのですか?前もって感謝します。

編集<modules>親の部分は次のpom.xmlようになります:

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

これが私が得るエラーです:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project A: Compilation failure: Compilation failure:

4

1 に答える 1

1

mvn installモジュールAを構築する前に、モジュールBで実行しましたか?

(代わりに「mvnpackage」を実行するとmvn install、モジュールBはリポジトリに配置されないため、MavenはモジュールAをビルドするときにそれを見つけられません)。

また、親モジュールからマルチモジュールプロジェクトを構築してみましたか?(これを行うと、Mavenはモジュールを正しい順序でビルドします)

そうでない場合は、参照しているクラスがsrc/main/java/test/pack/packFromBモジュールBの下にあることを確認します。それらが下にある場合はsrc/test/java..、そのための特定のタイプの依存関係が必要です。

お役に立てば幸いです。

于 2012-04-29T11:39:54.513 に答える