クラスパスのワイルドカード
Java 1.6からやっとクラスパスにワイルドカードを指定できるようになりました。
でも、若干動きが微妙です。
例えば、
dom4j-1.6.1.jar hoge.bat hoge.jar junit.jar log4j-1.3.jar
と言うファイル群があるディレクトリで、
java -cp * hoge.Launcher
と叩くと、
Exception in thread "main" java.lang.NoClassDefFoundError: dom4j-1/6/1/jar
と怒られます。
ワイルドカードが辺に展開されているんでしょうね。
1.6.0_02と、1.6.0_06で確認しました。
実行時にクラスパスをワイルドカードで指定する場合は、
java -cp "*" hoge.Launcher
と書くと動作するみたいです。
ちなみにUnix系OSでは試してません。