NoClassDefFoundError в простом .jar файле - PullRequest
3 голосов
/ 06 сентября 2011

Я пытаюсь создать простой файл .jar из моего проекта.Проект состоит из двух файлов .class - основного класса, который использует вторичный класс для создания GUI.Основной класс является фактическим «основным» классом, который запускается, в то время как второй класс является просто файлом класса с его методами, а также расширением JFrame и импортирует javax.swing и java.awt.event. *.

Я использую Jar, чтобы связать все это.Я добавляю файл манифеста (с символом новой строки), который указывает на основной файл с помощью метода main.Таким образом, файл Jar содержит два файла .class и папку с файлом manifest.txt.Когда я использую javaw.exe для запуска, ничего не происходит вообще.Поэтому я пытаюсь запустить его в командной строке и получаю NoClassDefFroundError о вторичном классе.

Я заметил, что я получаю такую ​​же ошибку, когда пытаюсь скомпилировать и запустить второй класс в JCreator - неудивительноУ него нет метода main, это просто файл класса.Когда я запускаю основной файл из JCreator, все работает нормально.

Есть идеи?

Ответы [ 2 ]

3 голосов
/ 06 сентября 2011

Глядя на вашу трассировку стека, я теперь вижу проблему: могу сказать, что на самом деле у вас есть более двух классов:

Caused by: java.lang.ClassNotFoundException: grafPrime$calcButton at 

Есть файл с именем grafPrime$calcButton.class, и он должен быть вфайл фляги тоже.Могут быть и другие подобные файлы - убедитесь, что вы включили все из них!

2 голосов
/ 06 сентября 2011

Хорошо, проблема в том, что вы не включили анонимный класс - у вас должен быть файл с именем grafPrime$calcButton.class, которого нет в вашем jar-файле.

По сути, скомпилируйте ваш код в чистыйкаталог и включают все файлы классов, которые генерируются.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...