Java - Не удалось найти основной класс? - PullRequest
1 голос
/ 09 июня 2010

У меня проблемы с ошибкой Java. Я получаю это при двойном щелчке по файлу Jar моего скомпилированного проекта, чтобы запустить его:

Could not find the main class: testPackage.testFrame. Program will exit.

Однако мой основной класс четко определен в свойствах проекта. Кроме того, все работает нормально, когда я запускаю проект непосредственно из NetBeans.

Я использую стороннюю библиотеку ip2c.jar для определения стран по IP-адресам. Если я комментирую класс, использующий файл ip2c.jar, я не получаю сообщение об ошибке.

Как сторонняя библиотека может помешать JVM найти мой основной класс?

Ответы [ 4 ]

6 голосов
/ 09 июня 2010

Если вы хотите запустить свое приложение, щелкнув по банке, вам нужно указать основной класс в файле META-INF/MANIFEST.MF в банке, как описано здесь .Убедитесь, что вы правильно его определили.

Вы сможете сделать это в Netbeans при создании вашего файла JAR.

Вы также можете найти этот вопрос в SOполезно.

3 голосов
/ 09 июня 2010

Если я комментирую класс, использующий файл ip2c.jar, я не получаю сообщение об ошибке.

Если вы комментируете вышеупомянутое использование, некоторые классы получаютсоставлен правильно?и когда вы включаете, у вас есть какая-то ошибка, из-за которой .class для вашего класса Main не генерируется?- просто намек на то, что сторонняя банка не помешает META-INF / MANIFEST.MF в основной банке.

2 голосов
/ 27 сентября 2010

У меня тоже была эта проблема.Бывает, что Java не сообщает вам ОШИБКУ правильно.В то время как мой основной класс был правильным, он сказал мне, что мой основной класс не был найден.Моя ошибка заключалась в том, что я не скопировал новую библиотеку в свою папку lib за пределами Netbeans.Надеюсь, вы получите это ... Я имею в виду, я создал папку для запуска моего JAR-файла, в этой папке у меня есть папка lib, которую я скопировал из своего проекта.Это может показаться не очень понятным. Если у кого-то есть такая ошибка, я могу вам помочь.Спасибо.

1 голос
/ 09 июня 2010

Вы должны убедиться, что ваш манифест корректен и находится в правильном каталоге (что выглядит нормально, если сообщение об ошибке содержит имя класса), и что класс находится в JAR и упакован с правильной структурой каталога, которая соответствуетего структура пакета.

...