クラスパスにネストされた JAR を含める
Java アプリケーションをパッケージ化する際の一般的な課題の 1 つは、JAR ファイルとして配布される依存関係を組み込むことです。これらの依存関係自体にネストされた JAR が含まれている場合、このタスクはさらに複雑になります。クラスパスにネストされた JAR を含める解決策はありますか?
One-Jar と UberJar の使用
アプリケーションと依存関係を 1 つの JAR ファイルにパッケージ化しようとしているユーザー向け広く使用されている手法として、One-Jar と UberJar の 2 つがあります。
One-Jar はjar のネストを可能にする特殊なクラスローダー。これにより、ユーザーはアプリケーション独自のクラスと必要なライブラリを含む複合 jar を作成できます。
同様に、UberJar とそのバリアントである Shade は、それぞれ Maven1 と Maven2 のプラグインです。これらのツールは、含まれているライブラリからクラスを抽出してマージし、トップレベルの JAR に直接配置します。
代替オプション: アセンブリ プラグイン
One-Jar およびUberJar は簡単なソリューションを提供しますが、ユーザーは Maven アセンブリ プラグインを検討することもできます。このプラグインは高度なカスタマイズ オプションを提供しますが、目的の jar 構造を実現するには慎重な構成が必要です。
以上がJava アプリケーションのクラスパスにネストされた JAR を含めるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。