1

次のソース レイアウトがあります。

.
├── pom.xml
├── modules (has pom)
│   ├── module1 (has pom) 
│   └── module2 (has pom)
│   └── moduleN (has pom)
└── webapp1 (has pom)
└── webapp2 (has pom)

webapp1 と webapp2 は、すべてのモジュール (DAO、サービスなどのモジュール) に依存しています。現時点では、ルートからすべてをビルドし、mvn package2 つの WAR ファイルを提供しています。

webapp1 または webapp2 のみをビルドするにはどうすればよいですか?

webapp1にcd入って実行mvn packageすると、moduleX.jar をダウンロードできないと表示されます (これはクリーンなリポジトリです)。確かにMavenは、これらのモジュールを最初に依存関係として構築する必要があると推測できるはずですか?

4

1 に答える 1

1

webapp1 または webapp2 のみをビルドするにはどうすればよいですか?

「高度な原子炉オプション」を使用します。ルートから:

mvn install -pl webapp1 -am

これにより、Maven にインストールするように指示し、依存webapp1するプロジェクトを(正しい順序で) 指示します。webapp1

ヘルプ ( mvn -h) には、これらのコマンドが次のように記載されています。

-pl, --projects
        すべてのプロジェクトではなく、指定されたリアクター プロジェクトをビルドする
-am, --も作ります
        プロジェクト リストが指定されている場合は、リストに必要なプロジェクトもビルドします

を呼び出す必要があることに注意してくださいinstall。依存関係は常にローカルリポジトリを介して解決されます(したがって、それらが必要ですinstall)。私は間違っていました、呼び出しpackageは機能します(方法/理由はわかりませんが、機能します)。

于 2010-10-18T13:07:24.597 に答える