私は2つの別個の複雑なビルドタスクを持っています。例えば、戦争ファイル、ライブラリ、そして...
私が知る限り、これらのタスクを別々のmaven pomファイルに分割する必要があります。このアプローチでは、各POMファイルには特定の責任があり、できるだけシンプルに保つことができますし、何らかの技術的な問題の結果として、私はこれを行う必要があります。
私は、これらの2つのファイルの間に共有の依存関係を親のpomファイルに入れて、重複を減らしました。
この場合、create-jar.xmlおよびcreate-war.xmlはタスクであり、parent.xmlには共有依存関係が含まれています。
parent.xmlいくつかのpomファイルを使ってプロジェクトをビルドする
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>main</groupId>
<artifactId>main</artifactId>
<version>1.0</version>
<packaging>pom</packaging>
<dependencies>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.13</version>
</dependency>
</dependencies>
</project>
作成-jar.xmlの
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>main</artifactId>
<groupId>main</groupId>
<version>1.0</version>
<relativePath>parent.xml</relativePath>
</parent>
<groupId>create</groupId>
<artifactId>create</artifactId>
<version>1.2-SNAPSHOT</version>
<packaging>jar</packaging>
</project>
作成-war.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>main</artifactId>
<groupId>main</groupId>
<version>1.0</version>
<relativePath>parent.xml</relativePath>
</parent>
<groupId>create-war</groupId>
<artifactId>create-war</artifactId>
<version>1.1-SNAPSHOT</version>
<packaging>jar</packaging>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.0.0</version>
<configuration>
</configuration>
</plugin>
</plugins>
</build>
</project>
W私が必要とする帽子は、のmvnに、両方のpomファイルのを1つのコマンドでインストールすることです。創造瓶は戦争前に実行しなければならないので、命令は私にとっては本当に重要です。
2つのアプローチがあります。
継承 create-jar.xmlをcreate-war.xmlの直接の親として使用することによって、create-warを実行することによって、create-jarが呼び出されます。
他の解決策は、create-war.xmlからcreate-jar.xmlを実行することによって、の構成です。どうすればいいのか分かりません。しかし、私はmaven-invokerやmaven-antRunプラグインが参考になると思います。 私は喜んで私に手を差し伸べるでしょう。
あなたはマルチモジュールビルドが必要なのですか – Jens
WARにJARが含まれるかどうかを明確にしてください。シナリオが本当に「JARをビルドしてから、JARを含むWARをビルドする」場合は、おそらくこのシナリオの最初のものではありません。 –
私は ' を作成し、あなたの作成し-war.xmlにメイン ' これを追加しようとするだろう –