2

親POMが次のように述べているMavenマルチモジュールプロジェクトがあります。

<modules>
  <module>ui</module>
  <module>controller</module>  <!-- Depends on ui module -->
</modules>

以下は正常に実行されます。

project-root> mvn clean package

ただし、次のことを試みると問題が発生します。

project-root/controller> mvn clean package

uiエラーは、アーティファクトを未解決の依存関係として報告します。

はい、私はこの質問が以前に尋ねられたことを理解しています。ただし、明確な答えはありません(そのインスタンスで受け入れられた答えは、回避策にすぎません)。この動作は、依存関係の解決とリアクターのビルドの違いとして説明されています。 Maven 3に関する投稿は、リリースされたもので解決されることを示唆しています。Maven 3.0.3を使用していますが、安心感はありません。 Maven 3.0.4のリリースノートは、この動作の変更を示唆していません。

そのような状況にどのように対処しますか?project-root毎回ビルドを行う唯一の手段はありますか?

4

1 に答える 1

1

直面している問題は、兄弟からビルドを呼び出そうとすることです。この場合、依存関係の解決はローカル リポジトリに対して行われます。

あなたの問題にはいくつかの解決策があります。最初の方法は、ルートに移動してmvn install. その後、コントローラーに移動してmvn clean package. ただし、ルートに移動して、具体的にコントローラー モジュールをビルドすることをお勧めします。

mvn -pl controller clean package

ただし、前提条件は、その前に mvn install を実行することです。

于 2012-05-19T10:31:48.277 に答える