2

親といくつかのモジュールを含むマルチモジュールプロジェクトがpom.xmlあり、一部のモジュールは相互に依存しています。プロジェクトディレクトリで私は呼び出すことができます

mvn test

各モジュールでユニットテストを実行します。ここでは問題ありません。しかし、私が電話すると

mvn site

モジュールレポートの1つ

[ERROR] Failed to execute goal on project myModule_C: Could not resolve dependencies 
for project org.myModule_C:jar:0.0.1-SNAPSHOT: The following artifacts could not be
resolved: org.myModule_A:jar:0.0.1-SNAPSHOT, org.myModule_B:jar:0.0.1-SNAPSHOT: Failure
to find org.myModule_A:jar:0.0.1-SNAPSHOT in http://artifactory-server:8081/artifactory/repo
was cached in the local repository, resolution will not be reattempted until the update
interval of server has elapsed or updates are forced -> [Help 1]

これらの依存関係は「mvntest」中に検出されるため、これは発生しないはずです。また、それらはアーティファクトサーバーではなく、親プロジェクトの一部です。ERRORに記載されている目標は目標siteです。なぜmvn test成功し(検出した依存関係に関して)成功mvn siteしないのですか?これは原子炉のビルドであるため、特別な方法でサイトをビルドする必要がありますか?

4

1 に答える 1

2

mvn install少なくとも 1 回は実行する必要があります。詳細については、Maven Build Life CycleおよびMaven in 5 Minutesを参照してください。

概要はこちら

Maven フェーズ

包括的なリストではありませんが、これらは実行される最も一般的なデフォルトのライフサイクル フェーズです。

validate: プロジェクトが正しく、必要なすべての情報が利用可能であることを検証します

compile: プロジェクトのソース コードをコンパイルします。

test: 適切な単体テスト フレームワークを使用して、コンパイルされたソース コードをテストします。これらのテストでは、コードをパッケージ化またはデプロイする必要はありません

package: コンパイルされたコードを取得し、JAR などの配布可能な形式でパッケージ化します。

integration-test: 必要に応じてパッケージを処理し、統合テストを実行できる環境にデプロイします

verify: チェックを実行して、パッケージが有効であり、品質基準を満たしていることを確認します

install: 他のプロジェクトの依存関係としてローカルで使用するために、パッケージをローカル リポジトリにインストールします。

deploy: 統合環境またはリリース環境で実行され、他の開発者やプロジェクトと共有するために最終パッケージをリモート リポジトリにコピーします。

上記のデフォルト リスト以外にも、注目すべき Maven ライフサイクルが 2 つあります。

彼らです:

clean: 以前のビルドで作成されたアーティファクトをクリーンアップします

site: このプロジェクトのサイト ドキュメントを生成します

これが役立つことを願っています。

于 2013-03-06T00:59:41.627 に答える