3 つ以上の Maven プロジェクト (HTML、JavaScript、および CSS ベース) を 1 つに結合したいと考えています。私の主なプロジェクトは、他のプロジェクトからの依存関係を使用しています。では、これらの依存関係を変更せずに単一のプロジェクトをビルドするにはどうすればよいでしょうか?
質問する
5238 次
2 に答える
4
次のようなマルチモジュールプロジェクトがあるとします。
mysite
:親pomモジュール。mysite-core
:Javaモジュールmysite-web
:Webリソースモジュール(javascript、html、...)mysite-webapp
:戦争モジュール
mysite
packaging pom
他の3つがあり、含まれていますmodules
:
<groupId>mysite</groupId>
<artifactId>mysite</artifactId>
<packaging>pom</packaging>
<modules>
<module>../mysite-core</module>
<module>../mysite-web</module>
<module>../mysite-webapp</module>
</modules>
mysite-core
標準を使用しますjar packaging
:
<parent>
<artifactId>mysite</artifactId>
<groupId>mysite</groupId>
<relativePath>../mysite/</relativePath>
</parent>
<groupId>mysite</groupId>
<artifactId>mysite-core</artifactId>
mysite-web
似ている:
...
<artifactId>mysite-web</artifactId>
mysite-webapp
依存関係としてJavaおよびWebリソースモジュールが含まれています。
...
<artifactId>mysite-webapp</artifactId>
<packaging>war</packaging>
<dependency>
<groupId>mysite</groupId>
<artifactId>mysite-core</artifactId>
</dependency>
<dependency>
<groupId>mysite</groupId>
<artifactId>mysite-web</artifactId>
</dependency>
maven-war-pluginのoverlaysプロパティを使用して、リソースを戦争に追加します。
<overlays>
<overlay>
<groupId>mysite</groupId>
<artifactId>mysite-web</artifactId>
<type>jar</type>
</overlay>
</overlays>
注:次のように、フラットなプロジェクトレイアウトを使用することをお勧めします。
- 根
- 親pomモジュール
- javapomモジュール
- java-1jarモジュール
- java-2jarモジュール
- Webリソースjarモジュール
- 戦争モジュール
階層レイアウトの代わりに:
- 根
- 親pomモジュール
- javapomモジュール
- java-1jarモジュール
- java-2jarモジュール
- Webリソースjarモジュール
- 戦争モジュール
- 親pomモジュール
Eclipseのようなツールは、階層構造(遅い、または無限のビルド)を好まないことに気づきました。
于 2012-12-31T20:48:48.493 に答える
-1
Maven モジュールを使用します。ここに広範なドキュメントがあります:
http://maven.apache.org/guides/mini/guide-multiple-modules.html
于 2012-12-31T11:05:18.513 に答える