が、私はこれを行うことができ-classpath(Java)のために提供することができます:上記のコマンドは相対パスが
javac -classpath ././My_Jars/*;././My_Other_Jars/* -d bin Test.java
はいつもにClassNotFoundがスローされます!相対的な使用のために - Windows 7の
が、私はこれを行うことができ-classpath(Java)のために提供することができます:上記のコマンドは相対パスが
javac -classpath ././My_Jars/*;././My_Other_Jars/* -d bin Test.java
はいつもにClassNotFoundがスローされます!相対的な使用のために - Windows 7の
あなたは..
(ダブルドット)を使うべきではなく、.
(カレントディレクトリを参照する単一のドット):JDK 6 OS:
Javaの(My_Jarsが見つからないとMy_Other_jarsが見つかりません)パス。
私は、問題は相対パスではなく、ワイルドカード(アスタミックス)の使用ではないかと考えています。これらは実際にはコマンドライン環境(シェル)によって拡張されています。この場合、おそらくあなたが期待しているものは得られません。
ワイルドカードで絶対パスを使用すると、動作します – zorbanzorban
クラスパスのアスタリスクはワイルドカードではなく、代わりにjarファイルからクラスを読み込みます。クラスがjarファイルでない場合は、/を使用するだけです。
あなたの名前が与えられていますが、それは問題ではないと思います。 javac -classpath ./../My_Jars/*;/../My_Other_Jars/* -d bin Test.java
Jarsが現在の作業ディレクトリから1レベル上にある場合は、試してみるとよいでしょう。
'javac -classpath ../../My_Jars/*;../../My_Other_Jars/* -d bin Test.java' –
クイック返信用にBala/Saketに感謝します。上記のコマンドは2つのドットで動作しませんでした。 – zorbanzorban
答えは、現在のディレクトリに対するjarの相対位置によって異なります。答えが何であれ、 '././'はパス内で意味をなさない。なぜなら '.'は' 'このディレクトリ ''を指しているから、それを繰り返す理由は決してない。 –