私はライブラリに30個近くのライブラリファイルが入っているライブラリでmytest.jarファイルを作成しました。 すべてのライブラリjarをmytest.jarの中に入れて、1つのjarファイルだけを配布する必要はありますか? マニフェストを使用して行うことはできますか?おかげさまで jarファイル内のJavaライブラリ
答えて
出荷時には表示されません。しかし、One-Jarは解決策を提供します。それはあなたが作っていると私が想定しているスタンドアロンのアプリでうまく動作します。
アプレットを作成している場合、One-Jarは機能しません。
標準のJavaクラスローダーでは、jars-inside-jarsからクラスをロードすることはできません。しかし、カスタムクラスローダを使用することは可能です。これは例えばUberJarの動作です。
maven shade pluginのアプローチは異なります。それは、あなたが依存しているすべての瓶を開梱し、それらを(自分の授業と一緒に)1つの大きな瓶に詰めるでしょう。その後、通常のクラスローダを使用することができます。これはより簡単で、jarjarを使用していなくても可能です。
は、 'maven shade plugin'を使うときや、すべてのjarファイルをunpackaして再パッケージするときに注意する必要があります.2つのjarファイルには共通ファイルがあり、jarファイルにはもう一つのjarファイルが上書きされる可能性があります。 –
shadeプラグインは、シェーディング ")、これを避けるために - しかし、はい、あなたは注意する必要があります。 –
誰かがそのパッケージを作成したことはかなり驚きです。私はそれをやってみることを考えました。 – djangofan
通常、この目的のために、jarjar
のようなジャーリパッキングツールを使用します。
@Lorenzo Heikoが既に追加したものは、ここにリンクがあります:http://code.google.com/p/jarjar/これはJavaの制約であり、これらのjarを別々にして追加するほうが良いでしょうそれらをクラスパスに変換します。 – Ayusman
- 1. Jarファイル内のJava Jar
- 2. Android(Java)の別のjarファイル内のjar
- 3. Java JARライブラリ圧縮
- 4. IntelliJ:.jarファイル内の.javaと.classファイル
- 5. jarファイルの作成 - ライブラリdependecy
- 6. Java jarファイルのコマンドラインパラメータ
- 7. Java .jarファイルのサイズ
- 8. ライブラリを含むJavaのエクスポートjar
- 9. Javaサーブレット - javaサーブレット内のjarファイルをexcecuteする方法
- 10. インポートR予測ライブラリJARファイルをJavaに変換
- 11. Java - 参照ライブラリをjarファイルにパックして再利用
- 12. jarファイル内のJavaCompiler
- 13. jarファイル内のAsynchronousFileChannel
- 14. Javaでjarファイル内のxmlファイルを変更する
- 15. java/ant jarファイルSecurityException
- 16. javaマニフェストの内部jarリンク
- 17. jarファイル内でJNIライブラリをカプセル化する
- 18. JavaのStreamedContentのjarファイル
- 19. スタートのJavaのjarファイル
- 20. Java jarファイルのコマンドラインのオプション
- 21. 第3ライブラリのjarファイル用アンドロイドライセンス
- 22. Java netbeans jarファイルの変更
- 23. JavaプラグインのGradle-jarファイル名
- 24. Java MavenパッケージJarのExcelファイル
- 25. Javaの外部jarファイル
- 26. Jarファイル内のa * .jarファイルまたはファイルへの入力ストリーム?
- 27. のjarライブラリ
- 28. jarファイル内のフォルダのパス
- 29. Java - 現在のJAR内のファイル名のリストを取得
- 30. JavaアプレットのJAR内のファイルのリストを取得する
[プロジェクト・クラスとプロジェクト依存関係を含むカスタム・マニフェスト・ファイルのjarファイルを作成することはできますか?](http://stackoverflow.com/questions/1832853/is-it)プロジェクトを作成することができます。 – skaffman
API Jarを分割/再パッケージすることは、配布ライセンスに逆行する可能性があります。これがデスクトップアプリケーションの場合は、[Java Web Start](http://stackoverflow.com/tags/java-web-start/info)を使用すると、アプリを起動する上での問題全体を解決することができます。エンドユーザーにとって「ワンクリック」のソリューションであり、ユーザーが必要とする追加のJarをサーバーに追加するだけでなく、変更が必要な場合は自動更新を提供することもできます。 –