无法在jdk1.7中编译和运行HelloWorld

我在我的e:\安装了jdk1.7 。 我在c:\机器上已经有jdk1.61.5了。

环境可行,

 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  j2ee1.4.tutorials 08/18/2011 02:52 PM  Jar Files 08/02/2011 11:33 AM  javasdk1.7 07/01/2011 04:39 PM  jboss 10/04/2010 05:25 PM  jsf 10/04/2010 05:25 PM  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 

路径和类路径中的JDK 6出现在JDK 7之前。我相信这是问题所在。

首先尝试从类路径和路径环境变量中删除JDK 6,然后再试一次。 如果它可以工作,你可能必须创建bat文件来设置java 7的环境并在使用java 7之前运行它。

或者只删除旧版本的java。 你为什么需要它们?

在你的类路径中,你有e 7的e:\ jdk1.7 \ lib;。;

注意jdk1.7

在您的路径中,当您指定环境变量时,在e:\ jdk1.7 \ bin中有java 7,但是在行中将其设置为e:\ javasdk1.7 \ bin:

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

注意javasdk1.7

由于javac IS正在运行,因此您设置的新PATH似乎必须正确。 您的类路径应该匹配它(正如其他人所说,删除对您的java 7安装的引用):

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

进行更改,它应该能够找到缺少的类。