Банку нельзя открыть на другом компьютере («Не удается найти основной класс») - PullRequest
1 голос
/ 09 декабря 2011

Сегодня я запрограммировал себя в Маленькую игру, которую я скомпилировал в Jar через Eclipse - я позаботился о том, чтобы это был исполняемый файл или исполняемый файл, или как вы хотите его назвать.

Я отправил банку своему другу, но, как ни странно, он не может ее открыть. Он всегда получает сообщение об ошибке «Не удается найти основной класс», которое не должно появляться, поскольку оно отлично работает для меня. Я уже погуглил, но не смог найти ответ.

Если вам интересно, вы можете посмотреть здесь, если это работает для вас: http://www.file -upload.net / скачать-3939961 / WidzDeluxe.jar.html

Теперь вопрос, который у меня возник, довольно очевиден, я полагаю, ошибка только для него или у всех вас одна и та же проблема? В чем причина?

Если люди пожелают, я также загружаю код.

Ответы [ 2 ]

1 голос
/ 09 декабря 2011

Вы скомпилировали файлы классов, связанные внутри этого jar с другой (более высокой) версией Java. Предположительно это была Java 1.7, и ваш друг пытается открыть ее с помощью Java 1.6.

Вот трассировка стека, которую я получил, пытаясь открыть ваш исполняемый файл jar с Java 1.6.0_21:

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.

Одним из возможных решений, которое пришло мне в голову, было бы установить уровень соответствия, скажем, 6.0 в Java Compiler настройках в Eclipse. Это должно к подвоху.

0 голосов
/ 17 сентября 2012

У меня была такая же проблема, я обнаружил, что собираю программу для Java 1.7.Я закончил тем, что обновлял Java на всех своих компьютерах, на которых он работал, и это прекрасно работало.

...