重複の可能性:
Maven を使用して、プロジェクトの jar とすべての依存 jar を含む配布可能ファイルを作成するにはどうすればよいですか?
盲目かもしれませんが、maven アセンブリ プラグインは、現在の project.jar とすべての依存関係の jar を含む zip ファイルを作成できますか? 「bin」IDには私のproject.jarだけが含まれ、jar-with-dependenciesはすべてを1つのjarにまとめますが、これは私が好きではありません。
重複の可能性:
Maven を使用して、プロジェクトの jar とすべての依存 jar を含む配布可能ファイルを作成するにはどうすればよいですか?
盲目かもしれませんが、maven アセンブリ プラグインは、現在の project.jar とすべての依存関係の jar を含む zip ファイルを作成できますか? 「bin」IDには私のproject.jarだけが含まれ、jar-with-dependenciesはすべてを1つのjarにまとめますが、これは私が好きではありません。
必要なことを行うには、カスタム アセンブリ記述子が必要です。これは、bin と jar-with-dependencies の定義済み記述子の組み合わせです。フォルダーで呼び出されるカスタム アセンブリ記述子を作成しassembly.xml
ました。src/main/assembly
基本的に、依存関係セットが追加されたビン記述子の例を次に示します。
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
<id>bin</id>
<formats>
<format>tar.gz</format>
<format>tar.bz2</format>
<format>zip</format>
</formats>
<fileSets>
<fileSet>
<directory>${project.basedir}</directory>
<outputDirectory>/</outputDirectory>
<includes>
<include>README*</include>
<include>LICENSE*</include>
<include>NOTICE*</include>
</includes>
</fileSet>
<fileSet>
<directory>${project.build.directory}/site</directory>
<outputDirectory>docs</outputDirectory>
</fileSet>
</fileSets>
<dependencySets>
<dependencySet>
<outputDirectory>/</outputDirectory>
<useProjectArtifact>true</useProjectArtifact>
<scope>runtime</scope>
</dependencySet>
</dependencySets>
</assembly>
次に、descriptorRef の代わりに記述子を使用するように pom を変更して、カスタム記述子がどこにあるかを伝えます。
<project>
[...]
<build>
[...]
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.2.1</version>
<configuration>
<descriptors>
<descriptor>src/main/assembly/assembly.xml</descriptor>
</descriptors>
</configuration>
[...]
</project>
こちらの例 502をご覧ください...すべての依存関係などを tar.gz/zip などにパッケージ化する方法の例があります。
fat-jarプラグインを見てください。