クラスパスのワイルドカード

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では試してません。