一个书上的代码,我在myeclipse上面运行老提示我找不到Exception in thread "main" ,然后就接着cmd模式下编译通过,代码应该没问题,但在myeclipse上面还是不行,不知道是什么问题,是classpath的问题吗?以前我没设置,就写了一个.;昨天加了点东西,求高人指点
编译通过,eclipse也没有说编译不通过啊Exception in thread "main" 是运行时不通过啊 贴代码,贴异常
package org.lxh.gendemo1; public class GenDemo01 { public static void main(String[] args){ Point p = new Point(); p.setX(10); // 设置坐标。int --> Integer --> Object p.setY(10);// 设置坐标。int --> Integer --> Object int x = (Integer)p.getX() ; // 取出X:Object --> Integer --> int int y = (Integer)p.getY() ; // 取出X:Object --> Float --> float System.out.println("x = " + x); System.out.println("y = " + y); }}package org.lxh.gendemo1;public class Point { // 表示坐标类 private Object x; private Object y; public Object getX() { return x; } public void setX(Object x) { this.x = x; } public Object getY() { return y; } public void setY(Object y) { this.y = y; }} java.lang.UnsupportedClassVersionError: Bad version number in .class file at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:620) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124) at java.net.URLClassLoader.defineClass(URLClassLoader.java:260) at java.net.URLClassLoader.access$100(URLClassLoader.java:56) at java.net.URLClassLoader$1.run(URLClassLoader.java:195) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268) at java.lang.ClassLoader.loadClass(ClassLoader.java:251) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319) Exception in thread "main"
是运行时不通过啊
贴代码,贴异常
public class GenDemo01 { public static void main(String[] args){
Point p = new Point();
p.setX(10); // 设置坐标。int --> Integer --> Object
p.setY(10);// 设置坐标。int --> Integer --> Object
int x = (Integer)p.getX() ; // 取出X:Object --> Integer --> int
int y = (Integer)p.getY() ; // 取出X:Object --> Float --> float
System.out.println("x = " + x);
System.out.println("y = " + y);
}}package org.lxh.gendemo1;public class Point { // 表示坐标类
private Object x;
private Object y; public Object getX() {
return x;
} public void setX(Object x) {
this.x = x;
} public Object getY() {
return y;
} public void setY(Object y) {
this.y = y;
}}
java.lang.UnsupportedClassVersionError: Bad version number in .class file
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
Exception in thread "main"
解决方案1,设置 window->preference->java->installed jre
设置成你系统的那个就是JAVA_HOME里指定的那个2,清空已经编译出来的class,用eclipse编译,用eclipse运行3. 命令行编译、命令行运行
编译用的javac和运行用的java要匹配楼主感觉你对Java的运行机制不是很清楚啊,回去补补吧,不是一句两句能说清的。
都很明显的提示jdk版本问题了
web开发时Tomcat运行的JDK版本与支撑application运行的JDK版本不一致也会导致同样的问题。
public class Point { // 表示坐标类
private Object x;
private Object y; public Object getX() {
return x;
} public void setX(Object x) {
this.x = x;
} public Object getY() {
return y;
} public void setY(Object y) {
this.y = y;
}
public static void main(String[] args){
Point p = new Point();
p.setX(10); // 设置坐标。int --> Integer --> Object
p.setY(10);// 设置坐标。int --> Integer --> Object
int x = (Integer)p.getX() ; // 取出X:Object --> Integer --> int
int y = (Integer)p.getY() ; // 取出X:Object --> Float --> float
System.out.println("x = " + x);
System.out.println("y = " + y);
}}
有异常?不明真相……