LoginSignup
0
0

More than 5 years have passed since last update.

実行可能jarを作るときにjarを解凍したくない(が結局する)

Posted at

未完成

課題

実行可能jarを作る際に、依存jarを解凍して、jar直下に組み込んでいる。
このため、依存ライブラリが多いほど、解凍時間が莫大となる。

依存jarをそのままjar直下に組み入れ、それをクラスパスに追加する形で起動したい。

StackOverflowの回答

https://stackoverflow.com/questions/12357136/reference-jars-inside-a-jar
上記で引用されている公式リンク
https://docs.oracle.com/javase/tutorial/deployment/jar/downman.html

どうやら、jar内のjarをクラスパスへ追加する方法は提供されていないようにみえる。
カスタムコードを記述し、実現せよとのことらしい。

現状

gradleを用いれば、1jarにプロダクトソースと依存jarを集約することは可能である。
(が使えるとは言っていない)

どうするか

・めんどいので解凍、組み込みの現状実装を利用する
 実行可能Jarとして1ファイルで提供する場合はこれ

・よく見られるlibフォルダに依存jarを集約して、Manifestで読み込む
 自分用にはこれ。

・jar内にjar組み込み、main内に内包jarをクラスパスへ追加処理を組み込む
 やらない

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0