2011-10-09 18 views
0

が、私はこれを行うことができ-classpath(Java)のために提供することができます:上記のコマンドは相対パスが

javac -classpath ././My_Jars/*;././My_Other_Jars/* -d bin Test.java 

はいつもにClassNotFoundがスローされます!相対的な使用のために - Windows 7の

+0

'javac -classpath ../../My_Jars/*;../../My_Other_Jars/* -d bin Test.java' –

+0

クイック返信用にBala/Saketに感謝します。上記のコマンドは2つのドットで動作しませんでした。 – zorbanzorban

+0

答えは、現在のディレクトリに対するjarの相対位置によって異なります。答えが何であれ、 '././'はパス内で意味をなさない。なぜなら '.'は' 'このディレクトリ ''を指しているから、それを繰り返す理由は決してない。 –

答えて

3

あなたは..(ダブルドット)を使うべきではなく、.(カレントディレクトリを参照する単一のドット):JDK 6 OS:

Javaの(My_Jarsが見つからないとMy_Other_jarsが見つかりません)パス。

0

私は、問題は相対パスではなく、ワイルドカード(アスタミックス)の使用ではないかと考えています。これらは実際にはコマンドライン環境(シェル)によって拡張されています。この場合、おそらくあなたが期待しているものは得られません。

+1

ワイルドカードで絶対パスを使用すると、動作します – zorbanzorban

1

クラスパスのアスタリスクはワイルドカードではなく、代わりにjarファイルからクラスを読み込みます。クラスがjarファイルでない場合は、/を使用するだけです。

あなたの名前が与えられていますが、それは問題ではないと思います。 javac -classpath ./../My_Jars/*;/../My_Other_Jars/* -d bin Test.java

Jarsが現在の作業ディレクトリから1レベル上にある場合は、試してみるとよいでしょう。