私はライブラリに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. jarファイルの作成 - ライブラリdependecy
- 4. Java jarファイルのコマンドラインパラメータ
- 5. jarファイル内のJavaCompiler
- 6. ライブラリを含むJavaのエクスポートjar
- 7. Javaでjarファイル内のxmlファイルを変更する
- 8. インポートR予測ライブラリJARファイルをJavaに変換
- 9. javaマニフェストの内部jarリンク
- 10. Jarファイル内のa * .jarファイルまたはファイルへの入力ストリーム?
- 11. スタートのJavaのjarファイル
- 12. JavaプラグインのGradle-jarファイル名
- 13. Javaの外部jarファイル
- 14. Java - 現在のJAR内のファイル名のリストを取得
- 15. JavaアプレットのJAR内のファイルのリストを取得する
- 16. jarファイル内のフォルダにJavaクラスを追加する方法
- 17. JAR内のファイル内を検索
- 18. Lotus Dominoサーバーに保存されているjarファイル(NSF内のJavaライブラリの)はどこですか?
- 19. Jarファイル名形式javaコード
- 20. Java EE Jarファイル共有
- 21. Java再実行jarファイル
- 22. Java - 相対パスでdllをロードしてjarファイル内に隠す
- 23. Java内で.JARファイルを実行する方法
- 24. WEBrick jarライブラリ
- 25. .javaファイルとJarファイルでフォルダをコンパイル
- 26. 別のjarファイルにあるjarライブラリ内にあるクラスファイルを呼び出すことはできますか?
- 27. すべてのJavaバージョンのJarファイル?
- 28. 配布用のJava jarファイルの保護
- 29. Java - jarファイルのSpringプロパティファイルの設定
- 30. Java 1.4のJarファイルの依存関係
[プロジェクト・クラスとプロジェクト依存関係を含むカスタム・マニフェスト・ファイルのjarファイルを作成することはできますか?](http://stackoverflow.com/questions/1832853/is-it)プロジェクトを作成することができます。 – skaffman
API Jarを分割/再パッケージすることは、配布ライセンスに逆行する可能性があります。これがデスクトップアプリケーションの場合は、[Java Web Start](http://stackoverflow.com/tags/java-web-start/info)を使用すると、アプリを起動する上での問題全体を解決することができます。エンドユーザーにとって「ワンクリック」のソリューションであり、ユーザーが必要とする追加のJarをサーバーに追加するだけでなく、変更が必要な場合は自動更新を提供することもできます。 –