今日の講演のために、Java SE 6 の機能をあらためてリストアップしていったんですが、なにか忘れたような気がしてなりませんでした。それを家に帰ってから思い出しました。
CLASSPATH にアスタリスクが使えるといっていたのは、どこにいってしまったんでしょう?
そうです、JAR ファイルの指定にアスタリスクが使えるはずだったのですが...
カレントディレクトリに JAR ファイルが複数ある場合、java -cp ./* のように記述できると。でも、今はできません。
アスタリスクはシェルが処理するはずなので、それほど難しいことではないような気がするのですが、やっぱりダメですか?
<<追記>>
アスタリスク使えました ^^;;
すいません、いいかげんなことを書いてしまって。
ただし、シェルに食われないような工夫が必要です。次のように書けば大丈夫のようです。
>java -cp ".\*" Foo OR >java -cp .\*; Foo // Windows の場合 > java -cp ./*: Foo // Unix 系の場合
ご指摘いただいた syo さん、ありがとうございました
http://java.sun.com/javase/6/docs/technotes/tools/index.html
返信削除Docのとおりに動かない場合は、ぜひバグ報告を...。(^^;;;
いい加減なことを書いてしまってすいません。Windows でワイルドカードを使う方法が分かりました。
返信削除java -cp ".\*" Foo
のようにワイルドカードをダブルクォーテーションマークで囲めばいいのでした。
"" で囲めばシェルが展開しないのわけですね。ドキュメントにもここまで書いてほしかった... ^^;;
私もはまってしまいました(WindowsXP)。いろいろと試してみると、
返信削除java -cp ./*; Hoge
のような感じで、*の後ろにセミコロンをつけると上手く動作したのでそれで対応していました。(^^;