#java #noclassdeffounderror #netbeans-7
#java #ошибка noclassdeffounderror #netbeans-7
Вопрос:
Вот ошибка:
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: sfclocator/UpdateNameForm
at sfclocator.SFCViewer.(SFCViewer.java:68)
at sfclocator.SFCViewer$10.run(SFCViewer.java:1823)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Caused by: java.lang.ClassNotFoundException: sfclocator.UpdateNameForm
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
Я создал эту программу как проект Netbeans 7.0. Я работал над этим около 2-3 дней и закончил вчера. Вчера все работало отлично. Я лег спать, проснулся, запустил его этим утром, и внезапно я получил ошибки. Я исправил ошибки, которые появлялись, за исключением этой.
Проект отлично собран, и JAR даже работает просто отлично, но когда я пытаюсь запустить проект с помощью Netbeans, он выдает мне эту ошибку. Буду признателен за любую помощь.
Дополнительная информация, которую я только что узнал:
При сборке класс UpdateNameForm существует в папке classes проекта netbeans, но когда я нажимаю выполнить, он удаляет классы UpdateNameForm.
Комментарии:
1. Можете ли вы увидеть класс
UpdateNameForm
, если выполните поиск по нему в NetBeans?2. @The Elite да, я могу. Он находится в проекте и в папке classes самого проекта netbeans. Пожалуйста, проверьте обновление выше
3. у вас есть скрипт сборки, который очищает вашу сборку?
4. @The Elite как я уже сказал, это проект netbeans. Кнопка очистки и сборки в netbeans делает это автоматически. Он также перестраивает конечный файл JAR программы в папку «dist», и этот JAR работает.
5. Я испытываю то же самое с одним из моих проектов в NB7… несколько дней назад все работало нормально. В моем случае это веб-приложение, и оно завершается с ошибкой при загрузке компонентов из контекста приложения spring.
Ответ №1:
у меня была похожая проблема, я решил ее, сначала удалив jar из пути сборки, а затем добавив его снова. Создайте проект после повторного добавления jar. Иногда путь сборки не обновляется… я надеюсь, что это сработает и для вас.
Комментарии:
1. Я не понимаю, что вы имеете в виду. У меня нет JAR в моем пути сборки. Единственный JAR, необходимый для сборки моего проекта, это AbsoluteLayout.JAR
Ответ №2:
У меня внезапно возникла та же проблема. Я проверил выходные данные процесса сборки в /build / classes и не смог найти отсутствующий класс. Неудивительно, что сообщение об ошибке… Мой способ исправить это в NetBeans 8.2 состоял в том, чтобы щелкнуть правой кнопкой мыши по проекту, чтобы открыть страницу свойств. Затем перейдите к компиляции в разделе Build и снимите флажок Compile on Save (Компиляция при сохранении). После этого я произвел некоторое фиктивное редактирование проблемного класса — ввел System.out … и снова удалил его — и сохранил. После этого я смог щелкнуть правой кнопкой мыши по классу и выбрать Compile File. Снова проверяя / build / classes, я мог видеть, что классы теперь были созданы. Запуск программы сработал, и я смог повторно проверить поле компиляции при сохранении в свойствах проекта.
Комментарии:
1. Этот ответ помог решить мою проблему с NetBeans 10. Просто добавьте system.out и сохраните файл, а затем удалите его впоследствии. Мне не нужно было выполнять никаких дополнительных шагов.
Ответ №3:
Я решил свою проблему, создав новый проект netbeans из существующих исходных текстов. На мой взгляд, это не очень хороший способ что-то делать (особенно в крупных проектах), но ни один из существующих ответов не предоставил решения.
Ответ №4:
Такого рода проблемы почти всегда возникают из-за проблем с classpath.
- Проверьте свой параметр classpath
- Убедитесь, что jar, содержащий ваш класс, можно найти в среде выполнения
- Убедитесь, что класс не находится в другом jar, найденном ранее в вашем classpath — особенно в более ранней / более поздней версии jar (т. Е. Если вы обновили, но не очистили свои старые jar)
Комментарии:
1. Я не знаю, как проверить мой путь к классу. Все мои классы хранятся в папке сборки проекта netbeans, и все они там. Единственный JAR, необходимый для сборки, это AbsoluteLayout.JAR
2. Это единственный ответ, который приближается к фактическому решению этой ошибки
3. Ответ ссылкой на сайт, продающий программное обеспечение за 8 995 долларов, вряд ли можно назвать полезным.
4. @Shanemeister это не программное обеспечение для продажи, это домен для продажи, потому что сайт закрыт, и они разрешили истечь владению доменом. Я удалил ссылку.