2011-08-02 12 views
2

jdk1.7e:\にインストールしました。私はc:\の私のマシンに既にjdk1.61.5を持っています。jdk1.7でHelloWorldをコンパイルして実行できません

環境vairable、

path=c:\jdk1.6\bin;e:\jdk1.7\bin;.; 
classpath=c:\jdk1.6\lib;e:\jdk1.7\lib;.; 
CMDプロンプトで

E:\>java -version 
java version “1.7.0″ 
Java(TM) SE Runtime Environment (build 1.7.0-b147) 
Java HotSpot(TM) Client VM (build 21.0-b17, mixed mode, sharing) 

E:\>set path=e:\javasdk1.7\bin;.; 

E:\>javac 
Error: Could not find or load main class com.sun.tools.javac.Main 

ないe:\

であるHello7.javaがここ

import java.io.*; 
class Hello7 { 
    public static void main(String... args) { 
     String color="red"; 
     switch (color) { 
     case "red": 
     System.out.println("Color is Red"); 
     break; 
     case "green": 
     System.out.println("Color is Green"); 
     break; 
     default: 
     System.out.println("Color not found"); 
     } 
    } 
} 
コードを入力してコンパイルすることができ

いいえTomですが、コンパイル中にエラーが発生しています。プレアには以下のステータスがあります。

E:\>dir j* 
Volume in drive E is Keane 
    Volume Serial Number is BA91-B3F6 

Directory of E:\ 

10/04/2010 05:25 PM <DIR>   j2ee1.4.tutorials 
08/18/2011 02:52 PM <DIR>   Jar Files 
08/02/2011 11:33 AM <DIR>   javasdk1.7 
07/01/2011 04:39 PM <DIR>   jboss 
10/04/2010 05:25 PM <DIR>   jsf 
10/04/2010 05:25 PM <DIR>   junit 
      0 File(s)    0 bytes 
      6 Dir(s) 33,454,637,056 bytes free 

    E:\>set path=e:\javasdk1.7\bin;.; 

    E:\>set classpath=e:\javasdk1.7\lib;.; 

    E:\>javac 
    Error: Could not find or load main class com.sun.tools.javac.Main 
+4

JDKはe:\ jdk1.7またはe:\ javasdk1.7ですか?あなたの質問は矛盾しています。また、あなたのパスにJDK 6を最初に持っていれば、Java 7として表示されることにも驚いています... –

+0

tools.jarをチェックしてください。おそらく破損しているか紛失しています – jabal

+2

問題が発生してからコードを見る必要はありませんjavacはtools.jarを見つけることができず、何かをコンパイルすることさえしていません。この時点で(そしてjava/javacはCentOS 6をunpackされたtar.gzからうまく動作します)10年間のウィンドウを避けましたが、明らかに環境設定です。クラスパスの1.6を取り除き、もう一度やり直してください。 – alphazero

答えて

3

JDK 6ではパスとクラスパスがJDK 7より前に表示されます。これは問題だと思います。

クラスパスとパスの環境変数からJDK 6を削除してから、やり直してください。それがうまくいくならば、おそらくJava 7の環境を設定し、Java 7で作業する前にそれを実行するbatファイルを作成する必要があります。

Javaの古いバージョンを削除してください。なぜあなたはそれらを必要としますか?

+0

パスから古いバージョンを削除し、ユーザー環境変数とシステム環境変数のクラスパスを削除します。依然として同じエラー – girija

0

クラスパスには、e:\ jdk1.7 \ lib;にJava 7があります。

jdk1.7に注意してください。あなたに

パスあなたは電子でのJava 7を持っている:\ jdk1.7あなたはEに設定し、その後環境はvarsの指定が、ビン\:\ javasdk1.7ラインのbin \:

E:\>set path=e:\javasdk1.7\bin;.; 

javasdk1.7に注意してください。

javacが実行されているので、設定した新しいPATHが正しいと思われます。あなたのクラスパスには、(除去他の人が指摘しているとして、あなたのJavaへの参照は7インストール)それと一致させる必要があります:

classpath=e:\javasdk1.7\lib;.; 

は、その変更を行い、不足しているクラスを見つけることができるはずです。

関連する問題