Java 无法在jdk1.7中编译和运行HelloWorld
我已经在我的Java 无法在jdk1.7中编译和运行HelloWorld,java,java-7,Java,Java 7,我已经在我的e:\上安装了jdk1.7。我已经在c:\的机器中安装了jdk1.6和1.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) Cli
e:\
上安装了jdk1.7
。我已经在c:\
的机器中安装了jdk1.6
和1.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:\
在这里输入代码
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
E:\>dirj*
驱动器E中的音量为基恩
卷序列号为BA91-B3F6
电子邮件地址:\
2010年4月10日下午5:25 j2ee1.4.教程
2011年8月18日02:52下午Jar文件
2011年2月8日上午11:33 javasdk1.7
2011年1月7日下午4:39 jboss
2010年4月10日下午5:25 jsf
2010年4月10日下午5:25 junit
0个文件0个字节
6个目录(s)33454637056个可用字节
E:\>set path=E:\javasdk1.7\bin;。;
E:\>set classpath=E:\javasdk1.7\lib;。;
E:\>javac
错误:无法找到或加载主类com.sun.tools.javac.main
路径和类路径中的JDK 6显示在JDK 7之前。我相信这就是问题所在
首先尝试从类路径和路径环境变量中删除JDK 6,然后重试。如果它能工作,您可能必须创建bat文件来设置Java7的环境,并在使用Java7之前运行它
或者只删除旧版本的java。为什么需要它们?在您的类路径中,java 7位于e:\jdk1.7\lib 请注意jdk1.7 在指定环境变量时,路径中的java 7位于e:\jdk1.7\bin,但随后在以下行中将其设置为e:\javasdk1.7\bin:
E:\>set path=e:\javasdk1.7\bin;.;
请注意javasdk1.7
由于javac正在运行,您设置的新路径似乎必须正确。您的类路径应该与之匹配(正如其他人所指出的,删除对java 7安装的引用):
进行更改后,它应该能够找到缺少的类。您的JDK是在e:\jdk1.7还是在e:\javasdk1.7中?你的问题前后矛盾。我还感到惊讶的是,如果您的路径中首先有JDK 6,它会显示为Java 7…请检查tools.jar,可能它已损坏或丢失。没有必要查看代码,因为问题是javac找不到tools.jar,甚至还没有开始“编译”任何内容。在这一点上,我们已经避开windows十年了(而且java/javac在CentOS 6上运行得很好,只是从解包的tar.gz开始),但问题显然是环境设置。去掉类路径中的1.6,再试一次。我建议您使用IDE。它的设计目的是使开发更容易,Java版本之间的切换只是一种设置。Peter,我尝试了Eclipse3.6,在属性中我能够使用jre 1.7和编译器1.7,能够执行简单的Java代码。尝试使用字符串切换时出现编译器错误。请从path中删除旧版本,用户和系统环境变量中的classpath,现在总共只有7个。还是同样的错误
classpath=e:\javasdk1.7\lib;.;