Jar文件没有在Ubuntu中运行

时间:2013-08-03 01:06:50

标签: java ubuntu executable-jar

我用Java创建了一个基本的文件浏览器。我在eclipse中将它导出到一个可运行的Jar文件中。它在我的Windows机器上工作正常,但是当我尝试从命令行在我的Ubuntu机器上运行它时,我收到以下错误:

Exception in thread "main" java.lang.UnsupportedClassVersionError: Main : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:634)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
at java.net.URLClassLoader.access$000(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:212)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: Main. Program will exit.

jar文件被标记为可执行文件,我已经尝试通过双击它来运行它,然后右键单击>用openjdk Java 6运行时打开

编辑:我尝试使用Java 7,出现了同样的错误。

1 个答案:

答案 0 :(得分:2)

版本51大致对应于Java 7.安装openjdk-7-jre。或者用于开发,openjdk-7-jdk

这可以通过以下命令完成:

sudo apt-get install openjdk-7-jre

您也可以选择IcedTea,即icedtea-7-jre-jamvm

您也可以编译兼容级别为1.6的jar,但如果没有特殊配置,您可能会遇到某些库的问题。你在编译器上can't use a higher source than target,所以你需要放弃缩短的泛型,例如:

ArrayList<Foo>=new ArrayList<>();

(改为填写类型参数)和其他各种漂亮的7-only功能。