我在jdk1.7
安装了e:\
。我jdk1.6
在我的机器中已经1.5
和c:\
。
环境可行,
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
无法编译位于Hello7.java
e:\
在这里输入代码
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
答案 0 :(得分:3)
JDK 6在您的路径和类路径中出现在JDK 7之前。我相信这是问题所在。
首先尝试从类路径和路径环境变量中删除JDK 6,然后再试一次。如果它可以工作,你可能必须创建bat文件来设置java 7的环境并在使用java 7之前运行它。
或者只是删除旧版本的java。你为什么需要它们?
答案 1 :(得分:0)
在你的类路径中,你有e:\ jdk1.7 \ lib;。;
的java 7请注意 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;.;
进行更改,它应该能够找到缺少的类。