在linux下的jdk的目录是 /home/rwl/jdk
我编译后的class类在 /home/rwl/class_jsp/oss/A.class oss是包名
我在 class_jsp目录下执行 /home/rwl/jdk/bin/jar cf ./lib/oss.jar ./oss 打包成jar文件
然后执行jar文件中的A类 /home/rwl/jdk/bin/java -classpath "./lib/oss.jar" oss.A
最后报错
Exception in thread "main" java.lang.UnsupportedClassVersionError: oss/A : Unsupported major.minor version 51.0
找不到main方面么?
下面是A类中的内容
package oss;
public class A {
public static void main(String[] args) {
System.out.println("aaa");
}
}
我该怎么运行 这个类呢?
呃 如果不用打包的话 我直接运行 java oss.A 这样还是不行啊!
追答假如你编译的话--》 javac 文件名.java
假如你执行的话--> java 文件名 (不要任何后缀的, 因为main函数是唯一函数入口,程序会自动执行main函数)
不用带你的包名的。 你直接cd到 class 文件夹中 执行, 或者你从上一层执行的话不是 “点” 而是: java oss/A
我是事先在window下编译后这个类文件,然后传上去在执行就报错,但是在linux下编译后在执行就过了,这是什么问题啊?jdk版本不同么?可是都是1.6的啊
追答应该和jdk没关系啊。因为java是夸平台的。不论你是xp还是linux,都是一样的啊。 只要是class文件,就可以执行了。唯一的区别是不是因为路径设置问题啊。因为xp下你的路径设置和linux下是不一样的。 因为你使用到了package。
我是事先在window下编译后这个类文件,然后传上去在执行就报错,但是在linux下编译后在执行就过了,这是什么问题啊?jdk版本不同么?可是都是1.6的啊
追答这个不太清楚。 反正是版本的问题。