2016-11-26 11 views
0

Javaで簡単なHello Worldプログラムを作成してコンパイルしましたが、実行しようとするとエラーメッセージError: Could not find or load main class Helloが表示されました。 java -cp . Helloコマンドを実行しただけで、正常に実行されました。classpathは現在のディレクトリにデフォルトではありません

奇妙なことに、現在のディレクトリは既にクラスパスの一部であるようです。スクリプト

class CheckClassPath{ 
    public static void main(String args[]){ 
     System.out.println(System.getProperty("java.class.path")); 
    } 
} 

プリント.、私は再び明示的classpathオプションを設定する必要がありますけれども。

これはなぜ起こっているのでしょうか?私はUbuntu 16.04とオープンJDKバージョン1.8を使用しています。

答えて

1

CLASSPATHという環境変数が設定されていると思います。何が設定されているか見るにはecho $CLASSPATHを実行してください。

あなたはその後、-jarオプションを使用しない場合:-cpがある場合

  • CLASSPATHが環境に設定されている場合
  • そうでクラスパスを指定し、クラスパスを指定する
  • そうでなければ、デフォルトのクラスパス "。"使用されている。
+0

はい、インテルVTuneはグローバルCLASSPATH変数を設定しているようです。 –

関連する問題