私は2つのmavenモジュールを持っています。1 つのモジュールは、maven-assembly-plugin を使用して多数の zip ファイルをビルドします。2 番目のモジュールには、最初のモジュールによってビルドされた zip ファイルの一部をパッケージに含める必要があります。これを行う方法は何ですか。ありがとうございました。
2 に答える
最も簡単な方法は、zip をリポジトリにデプロイすることです。ローカル リポジトリの場合は install:install-file を使用し、中央リポジトリの場合は deploy:deploy-file を使用します。
zip は、2 番目のモジュールで依存関係として宣言できます。
それで、他の誰かがそれをあなたのリポジトリにデプロイすることに言及しました。ビルドされたアーティファクトをリポジトリにデプロイするようにすでに設定されている場合、これは簡単です。そうでない場合は、http://maven.apache.org/plugins/maven-deploy-plugin/を確認してください。
次に、プラグインを使用して、リポジトリからzipファイルをチェックアウトする必要があります。シェード、またはmaven-dependency-pluginを使用できます。maven-dependency-pluginhttp ://maven.apache.org/plugins/maven-dependency-plugin/usage.htmlを想定しましょう
したがって、これをプラグインセクションのmavenpomファイルに追加します。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>unpack</id>
<phase>process-sources</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>my.artifact.group.id</groupId>
<artifactId>my-artifact</artifactId>
<version>My-version</version>
<type>zip</type>
<overWrite>false</overWrite>
<outputDirectory>${project.build.directory}/see</outputDirectory>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
明らかに、アーティファクトの詳細を変更する必要があります。これにより、zipファイルがtarget/seeに解凍されます。実際のzipファイルが必要な場合(これはあなたが求めていたもののように見えますが、明確ではありません)、目標を「解凍」から「コピー依存関係」に変更するだけです。また、outputDirectoryを削除するか、構成の他のビットを変更する必要がある場合もあります。必要な場所でそれを取得するためにそれを試してみてください。詳細については、前述のmaven-dependency-pluginのページを参照してください。
お役に立てば幸いです。