0

私は自分のプロジェクトで次の Maven の動作を観察しましたが、これは意味がありません。ここに何が起こっているのかの本質があります。

2つのモジュールを持つプロジェクトがあるとしましょう

  • com.example.foo.jar
  • com.example.bar.jar bar は foo に依存します
  • どちらもmavenモジュールを含む共通の親プロジェクトを共有しています

ローカルの .m2 が空であるため、foo と bar がインストールされていない場合。

  • project/ディレクトリ内で動作し、mvn clean verifyビルドが成功します
  • in bar/directorymvn initializeが機能せず、maven が bar の foo への依存関係を解決できなかったというエラー メッセージが表示されます。

では、個々のモジュールからではなく、プロジェクト フォルダーから呼び出すと、プロジェクトをビルドできるのはなぜですか?

project/
  pom.xml
  foo/
    pom.xml
  bar/
    pom.xml

mvn installここで説明されているハックを回避しようとしていますhttp://developer-blog.cloudbees.com/2012/12/maven-and-hack.html

4

1 に答える 1

1

リアクターでサブモジュールを構築できます。

mvn -pl bar package -am

-amをビルドするためにも含める必要があります。fooそうしないと、Maven には を取得する場所がありませfoojar

詳細については、Maven モジュール + 単一の特定モジュールの構築を参照してください。

于 2013-10-06T07:50:55.020 に答える