未完成
課題
実行可能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をクラスパスへ追加処理を組み込む
やらない