2006/12/21

今日の忘れ物

このエントリーをはてなブックマークに追加

今日の講演のために、Java SE 6 の機能をあらためてリストアップしていったんですが、なにか忘れたような気がしてなりませんでした。それを家に帰ってから思い出しました。

CLASSPATH にアスタリスクが使えるといっていたのは、どこにいってしまったんでしょう?

そうです、JAR ファイルの指定にアスタリスクが使えるはずだったのですが...

カレントディレクトリに JAR ファイルが複数ある場合、java -cp ./* のように記述できると。でも、今はできません。

アスタリスクはシェルが処理するはずなので、それほど難しいことではないような気がするのですが、やっぱりダメですか?

 

<<追記>>

アスタリスク使えました ^^;;

すいません、いいかげんなことを書いてしまって。

ただし、シェルに食われないような工夫が必要です。次のように書けば大丈夫のようです。

>java -cp ".\*" Foo
 
OR
 
>java -cp .\*; Foo      // Windows の場合
> java -cp ./*: Foo     // Unix 系の場合

ご指摘いただいた syo さん、ありがとうございました

3 件のコメント:

kyuka さんのコメント...

http://java.sun.com/javase/6/docs/technotes/tools/index.html
Docのとおりに動かない場合は、ぜひバグ報告を...。(^^;;;

skrb さんのコメント...

いい加減なことを書いてしまってすいません。Windows でワイルドカードを使う方法が分かりました。

java -cp ".\*" Foo

のようにワイルドカードをダブルクォーテーションマークで囲めばいいのでした。

"" で囲めばシェルが展開しないのわけですね。ドキュメントにもここまで書いてほしかった... ^^;;

syo さんのコメント...

私もはまってしまいました(WindowsXP)。いろいろと試してみると、

java -cp ./*; Hoge

のような感じで、*の後ろにセミコロンをつけると上手く動作したのでそれで対応していました。(^^;