質問

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

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

WebApp1とWebApp2は、すべてのモジュール(モジュールはDAO、サービスなど)に依存します。現時点では、ルートからすべてを構築し、 mvn package 2つの戦争ファイルをくれます。

WebApp1またはWebApp2のみを構築するにはどうすればよいですか?

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

役に立ちましたか?

解決

WebApp1またはWebApp2のみを構築するにはどうすればよいですか?

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

mvn install -pl webapp1 -am

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

手伝い (mvn -h)このようなこれらのコマンドを文書化します。

-pl, --projects
        Build specified reactor projects instead of all projects
-am, --also-make
        If project list is specified, also build projects required by the list

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top