我正在尝试使用Notepad ++作为我的一体化工具编辑,运行,编译等.
我安装了JRE,并且已将路径变量设置为.../bin目录.
当我在Notepad ++中运行"Hello world"时,我收到以下消息:
java.lang.UnsupportedClassVersionError: test_hello_world :
Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(Unknown Source)
.........................................
Run Code Online (Sandbox Code Playgroud)
我认为这里的问题是版本问题; 某些版本的Java可能是旧的或太新的.
.../binJRE或JDK中的变量有什么区别?我的Eclipse(Indigo)运行得很好.我创建了一个简单的类Hello.它放在cont文件夹中的包中ch13.但是,当我尝试从Eclipse运行它时,我从Java虚拟机启动器获取信息:
Could not find the main class: cont.Hello.
Run Code Online (Sandbox Code Playgroud)
我试图从这个包运行其他类,它们运行得很好(这是之前存在的类).但是,我在这个包中创建的任何新类都存在这些问题.实际上我在Eclipse中创建的任何新类都遇到了这个问题.我决定从命令行检查它是如何工作的.似乎问题仍然存在 - 我得到同样的错误.我检查了路径,它是C:\Program Files\Java\jdk1.7.0_02\bin,这是正确的(注意其他类从Eclipse运行就好了).我试图运行,java -cp . Hello并开始产生一些错误java.lang.NoClassDefFoundError: Hello (wrong name: cont/Hello).代码本身很简单:
package cont;
public class Hello {
public static void main(String[] args){
System.out.println("Hello");
}
}
Run Code Online (Sandbox Code Playgroud)
我如何修复它以便我的类仍在Eclipse下运行?
我从Oracle下载了Mac OS X 10.9.1的JDK,但我不得不再次从Apple网站安装另一个Java,因为我无法用它启动eclipse.
这是我提到的两页.
现在我的计算机上安装了三个java二进制文件.
/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java
java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)
Run Code Online (Sandbox Code Playgroud)
/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java
java version "1.6.0_65"
Java(TM) SE Runtime Environment (build 1.6.0_65-b14-462-11M4609)
Java HotSpot(TM) 64-Bit Server VM (build 20.65-b04-462, mixed mode)
Run Code Online (Sandbox Code Playgroud)
/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/bin/java
java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)
Run Code Online (Sandbox Code Playgroud)
我发现我可以轻松删除安装C,但我不确定这是否正常.
当我从命令行调用java时,它指向安装A.
java -version …Run Code Online (Sandbox Code Playgroud)