次の設定を使用して、cygwin + windows で Java を実行できます (sw/jar ディレクトリにはいくつかの jar ファイルがあり、java コマンドラインから関連するファイルを選択します)。
CLASSPATH=.;C:\sw\java_6u35\lib\\*;C:\sw\jar\\*
java org.antlr.Tool Calc.g
しかし、Linux で実行すると、次の問題が発生します。
(1) クラスパスにディレクトリ名を設定できません。次の行でエラーが報告されます。
setenv CLASSPATH .:/sw/jdk1.6.0_35/lib/\*:/sw/jar/*
(2) -jar オプションを指定して明示的に実行すると、まだエラーが発生します。
java -jar /sw/jar/antlr-3.4.jar org.antlr.Tool Calc.g
error(7): cannot find or open file: org.antlr.Tool
ただし、クラスは存在します。するとjar tf /sw/jar/antlr-3.4.jar
、次のようになります。
...
org/antlr/Tool.class
したがって、私の質問は次のとおりです。(a) jar ディレクトリが複数の jar ファイルを含む xxx であることを unix で指定するにはどうすればよいですか? (2) 実行時にこのディレクトリから関連する jar を選択するにはどうすればよいですか?