• 締切
  • 困ってます

CLASSPATHに二つのディレクトリ設定するとエラーが出る?

  • 質問No.2345203
  • 閲覧数126
  • ありがとう数1
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 42% (958/2229)

# 2342062 ではお世話になりました。もう少し質問を明確にします。よろしくお願いします!!

CLASSPATHを二つのディレクトリを設定するとエラーが出てしまいます。
理由が分からないので、お願いします!


【状況】
同じディレクトリに 次の2つのファイルがあります。

--- Main.java ---
public class Main {
public static void main(String[] args) {
Sub x = new Sub();
x.test();
}
}
--- Sub.java ---
public class Sub {
public void test() {
System.out.println("Sub !");
}
}


【再現手順】

(1) デフォルトの CLASSPATH は空です。この状態でコンパイルしても問題ありません。

$ echo $CLASSPATH

$ javac Main.java
$ java Main
Sub !


(2) CLASSPATH に . を設定します。この状態でコンパイルしてもやはり問題ありません。

(3) ところが、CLASSPATH にカレントディレクトリ「 . 」ともう一つのディレクトリ(何もファイルがありません)を設定してコンパイルすると、次のようにエラーが出てしまいます。

$ export CLASSPATH=.:tmp
$ javac Main.java

Main.java:3: シンボルを見つけられません。
シンボル: クラス Sub
場所 : Main の クラス
Sub x = new Sub();
^
----------------


とりあえず、カレントディレクトリはCLASSPATHに指定してあるので、Sub.classは見つかるはずだと思うのですが、なぜエラーが出るのでしょうか?

よろしくお願いします!!

回答 (全1件)

  • 回答No.1

ベストアンサー率 25% (6/24)

たしか、カレント以外はクラスパスってディレクトリ指定できないのではないですか?

tmpにあるtest.jarを加えたいなら、
$ export CLASSPATH=.;/tmp/test.jar
などと明示する必要があった気がします。

あと、:を;にしてみたらいかがでしょうか?
補足コメント
white-tiger

お礼率 42% (958/2229)

http://www.javaroad.jp/java_basic2.htm
をみると、

> たしか、カレント以外はクラスパスって
> ディレクトリ指定できないのではないですか?

こういうことはないようなのですが・・

; はダメでした。
投稿日時:2006/08/23 20:17
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,600万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A

ピックアップ

ページ先頭へ