重複の可能性:
Maven を使用して jar に依存関係を含める
私は Maven の初心者で、Maven を使用して依存関係の jar を含む jar を作成したいと考えています。しかし、私はそうすることができませんでした。それについて私を助けてください。
重複の可能性:
Maven を使用して jar に依存関係を含める
私は Maven の初心者で、Maven を使用して依存関係の jar を含む jar を作成したいと考えています。しかし、私はそうすることができませんでした。それについて私を助けてください。
アプリケーションと必要なライブラリを含む 1 つの jar を作成しようとしている場合、(私が知っている) 2 つの方法があります。1 つ目はOne-Jarで、特別なクラスローダーを使用して jar のネストを可能にします。2 つ目はUberJar (またはShade ) で、含まれているライブラリを展開し、すべてのクラスを最上位の jar に配置します。
また、UberJar と Shade はそれぞれ Maven1 と Maven2 のプラグインであることにも言及する必要があります。以下で説明するように、アセンブリ プラグインを使用することもできます (実際にはアセンブリ プラグインの方がはるかに強力ですが、適切に構成するのははるかに困難です)。
shade
プラグインを使用:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
</plugin>
ファイルに以下を含めpom.xml
ます。
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>MainClass with the packages</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>
</plugins>