#java #classnotfoundexception
#java #classnotfoundexception
Вопрос:
Для класса нам дали кучу файлов .class, которые мы должны использовать. Они у меня расположены в папке с именем lib. Я думаю, что я правильно добавил папку в путь сборки, поскольку на панели моего проекта появилась папка под названием «Справочные библиотеки» с папкой под названием lib, содержащей все файлы класса.
Проблема, с которой я сталкиваюсь сейчас, заключается в том, что при попытке скомпилировать неполный код я получаю
Exception in thread "main" java.lang.NoClassDefFoundError: Unearthed/GPRFrame
at GPR.main(GPR.java:18)
Caused by: java.lang.ClassNotFoundException: Unearthed.GPRFrame
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)
... 1 more
Я понятия не имею, что здесь делать. Я просто хочу загрузить файлы .class, чтобы продолжить работу над своим проектом. Заранее спасибо, ребята!
Редактировать: я попытался поместить файлы в папку lib Unearthed и добавить это в путь сборки, но я все еще получал ту же ошибку. Я использую eclipse для компиляции и запуска кода.
Комментарии:
1. возможно, это проблема с пакетом. если файлы .class должны находиться в пакете, они должны находиться в папке с этим именем пакета, а не в папке с именем lib. должны ли файлы .class быть частью пакета?
Ответ №1:
Предполагая, что класс вызывается:
Unearthed.GPRFrame
Это означало бы GPRFrame.class должно быть в libUnearthed
не lib
Ответ №2:
Вы компилируете код вне eclipse? если да, то вам нужно добавить библиотеку в ваш classpath javac -cp lib …. если нет, то я не уверен, что eclipse должен был пожаловаться с некоторыми красными метками, говорящими о том, что он может найти класс, который вы используете.