MavenからGradleに移行している中で、1つのことで苦労しています。 MavenのPOMをベースにしたマルチプロジェクトのGradleプロジェクトがあります。 ほとんどはうまくいきますが、サブプロジェクトをビルドした結果としてのWARファイルとZIPファイルを収集する方法が見つかりません。各サブプロジェクトは、マイクロサービスを表します。 私たちは(またStackoverflowで)すべてのjarとサードパーティのlibsをディレクトリに集める方法を見つけました。しかし、マイクロサービスごとのリソースとライブラリを収集する方法を探しています。 Mavenので 我々はこのようなものでした:私は、私が見つけることができるディレクトリで終わるしたいすべてのgradleビルドアーティファクトを1つのディレクトリにアセンブルします
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.0.0</version>
<executions>
<execution>
<id>copy</id>
<phase>package</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<outputDirectory>Publish/</outputDirectory>
<artifactItems>
<artifactItem>
<groupId>....</groupId>
<artifactId>...</artifactId>
<version>${project.version}</version>
<type>zip</type>
</artifactItem>
<artifactItem>
<groupId>....</groupId>
<artifactId>...</artifactId>
<version>${project.version}</version>
<type>war</type>
</artifactItem>
を:
アーティファクト(例えば、ZIP)を生成するプロジェクトのそれぞれにおいてproject1.war
project2.war
project3.zip
etc.
これはほとんど動作しますが、ZIPはdistributions-directoryに保存されます。私は、ZIPを構築したプロジェクトのための2番目のタスクを追加しました。それは動作し、私はメインのbuild.gradleを変更するだけで、サブプロジェクトは変更する必要がありませんでした。それは管理しやすくなります。 – Pieter