Class 无法在其他计算机上打开Jar(“找不到主类”)

Class 无法在其他计算机上打开Jar(“找不到主类”),class,jar,main,Class,Jar,Main,今天我为自己编写了一个小游戏,我通过Eclipse将它编译成一个jar——我确保它是一个可执行的jar,或者是可运行的jar,或者你想怎么称呼它 我把罐子寄给了我的一个朋友,但奇怪的是他没能打开。 他总是收到“找不到主类”错误,这不应该出现,因为它对我来说非常有效。我已经在谷歌上搜索过了,但找不到答案 如果您感兴趣,可以在这里查看,如果它适合您: 现在我的问题有点明显,我想,这个错误是只针对他,还是你们都有同样的问题?原因是什么 如果人们愿意,我也会上传代码。您已经用不同(更高)版本的Java

今天我为自己编写了一个小游戏,我通过Eclipse将它编译成一个jar——我确保它是一个可执行的jar,或者是可运行的jar,或者你想怎么称呼它

我把罐子寄给了我的一个朋友,但奇怪的是他没能打开。 他总是收到“找不到主类”错误,这不应该出现,因为它对我来说非常有效。我已经在谷歌上搜索过了,但找不到答案

如果您感兴趣,可以在这里查看,如果它适合您:

现在我的问题有点明显,我想,这个错误是只针对他,还是你们都有同样的问题?原因是什么


如果人们愿意,我也会上传代码。

您已经用不同(更高)版本的Java编译了绑定在这个jar中的类文件。大概是Java1.7,你的朋友正试图用Java1.6打开它

下面是我在尝试用Java 1.6.0_21打开可执行jar时收到的stacktrace:

Exception in thread "main" java.lang.UnsupportedClassVersionError: NewJFrame : Unsupported major.min
or version 51.0
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClassCond(Unknown Source)
        at java.lang.ClassLoader.defineClass(Unknown Source)
        at java.security.SecureClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.access$000(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: NewJFrame. Program will exit.

一个可能的解决方案是在Eclipse的Java编译器设置中将遵从性级别设置为6.0。这应该是个窍门。

您已经用不同(更高)版本的Java编译了绑定在这个jar中的类文件。大概是Java1.7,你的朋友正试图用Java1.6打开它

下面是我在尝试用Java 1.6.0_21打开可执行jar时收到的stacktrace:

Exception in thread "main" java.lang.UnsupportedClassVersionError: NewJFrame : Unsupported major.min
or version 51.0
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClassCond(Unknown Source)
        at java.lang.ClassLoader.defineClass(Unknown Source)
        at java.security.SecureClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.access$000(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: NewJFrame. Program will exit.

一个可能的解决方案是在Eclipse的Java编译器设置中将遵从性级别设置为6.0。这应该是个窍门。

我也遇到了同样的问题,发现我正在为Java 1.7编译程序。最后,我在运行Java的所有计算机上更新了Java,效果非常好。

我也遇到了同样的问题,发现我正在为Java 1.7编译程序。最后,我在运行Java的所有计算机上更新了Java,效果非常好