jarから実行するときのCLASSPATH

jarに固めるとかやったことなかったので全く知らなかったのだけど、

java -jar test.jar

とかやるときに、test.jarがdepend1.jar,depend2.jarを必要とするような場合、
-cpオプションでいくら頑張ってもだめで、(-jarを指定して実行すると、無視されてしまう)
(Exception in thread "main" java.lang.NoClassDefFoundError)
test.jarの中の「META-INF/MANIFEST.MF」で「Class-Path: 」を設定しないといけない。
MANIFESTについてはSunさんへ。


上記の例の場合、下のような感じ

Manifest-Version: 1.0
Class-Path: . depend1.jar depend2.jar
Main-Class: TestMain


Class-Pathに書くjarが複数ある場合は、空白区切り。
「Class-Path:」の横の空白1個は必須らしい。


で、test.jarとdepend1.jarとdepend2.jarを同じフォルダにおいて実行すればOK・・・のはず。


ちなみに・・・
jarの中にjarを入れてもだめみたい。これにはまりました。


何か1個に全部固める良い手段があればいいんだけど・・・。