1

この質問で言及されている状況があります。

親プロジェクト P と 2 つのサブモジュール A および B を持つマルチモジュール Maven プロジェクトがあります。サブモジュールとして A しかない場合は正常に機能しました。メイン プロジェクトに新しいソース フォルダーを追加し、パッケージを作成し、クラスを追加しました (ここで何か間違ったことをしていますか?)。それをモジュール B と呼びましょう。パッケージ B のクラスをパッケージ A のクラスにインポートしますが、 AのpomはBを依存関係として含めるように更新されないため、親プロジェクトをmvnコンパイルしようとすると、未定義のシンボルBというエラーが発生します。

  1. プロジェクト B を間違って追加していますか? ポンが入ってないから?
  2. 参照されている質問に記載されているように、メイン プロジェクトの pom ファイルに B を依存関係として追加するにはどうすればよいですか?

編集:pomsとコードの追加

これがプロジェクトAのポンです

<dependencies>
    <dependency>
      <groupId>javax.slee</groupId>
      <artifactId>jain-slee</artifactId>
    </dependency>
    <dependency>
      <groupId>org.mobicents.servers.jainslee.core</groupId>
      <artifactId>fault-tolerant-ra-api</artifactId>
      <version>2.6.0.FINAL</version>
    </dependency>
    <dependency>
      <groupId>org.mobicents</groupId>
      <artifactId>hello-slee-world-sbb</artifactId>
      <version>1.0</version>
    </dependency>
</dependencies>

現在、Bの依存関係が言及されています。プロジェクトAのBの参照は次のとおりです。

import BPackage.*;

これが、A で B を使用した方法です。

BPackage には BClass という名前のクラスが 1 つだけあります。今、パッケージを間違って追加していないかどうかを尋ねています。つまり、何かを追加する必要がありますか? そのpomが作成され、その依存関係がAに追加されるようにします.

さらに、親をコンパイルするときに B と A の両方をビルドしたいので、その場合、親の pom にも A を追加する必要があると思います。これが親のポンです

  <modules>
    <module>sbb</module>
    <module>customRAType-ratype</module>
    <module>customAdaptor-ra</module>
    <module>du</module>
  </modules>

customAdaptor-ra はプロジェクト A

4

1 に答える 1

5

各プロジェクトには pom.xml が必要です。トップレベルのプロジェクトには

<modules>
   <module>project1</module>
   <module>project2</module>
</modules>

project2に依存している場合は、 project2 の pom.xml 内でproject1を定義する必要があります。<dependency/>

于 2013-02-19T15:33:45.067 に答える