java.lang.NoClassDefFoundError из каждого класса каждый день - PullRequest
21 голосов
/ 09 июня 2011

Я попытался переустановить NetBeans, я попытался переустановить Java.Я не уверен, что происходит, но я получаю это исключение наугад из каждого класса, пока не перезапущу netbeans.Кто-нибудь с похожими проблемами?

запустить:

Exception in thread "main" java.lang.NoClassDefFoundError: com/company/utilities/formatters/DateFinder
    at com.protocase.db.DatabaseAdapter.<init>(DatabaseAdapter.java:44)
    at packagingqueries.PackagingQueries.getBatchIDsForOperation(PackagingQueries.java:42)
    at packagingqueries.PackagingQueries.main(PackagingQueries.java:20)
Caused by: java.lang.ClassNotFoundException: com.protocase.utilities.formatters.DateFinder
    at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
    at java.security.AccessController.doPrivileged(Native Method)

Ответы [ 10 ]

37 голосов
/ 03 июля 2011

Иногда каталог локального кэша NetBeans повреждается (либо из-за сбоя приложения ранее, либо из-за чего-то другого / неопределенного). NetBeans начинает вести себя странно. Переустановка не помогает, поскольку каталог локального кэша не всегда удаляется.

Если вы на 100% уверены, что в вашем приложении нет проблем с путями:

  1. Закрыть NetBeans
  2. Если вы используете Windows, перейдите по адресу c: \ Users \ youruserid \ .netbeans \ 7.0 (иначе найдите соответствующий каталог в вашей системе)
  3. Удалить содержимое полностью
  4. Перезапустить NetBeans

NetBeans воссоздает содержимое этого каталога. Это может решить вашу проблему. Если это не так, то ваша проблема наверняка в конфигурации вашего приложения или в поврежденной библиотеке.

Если в месте, где хранятся эти файлы, недостаточно места для записи, эта проблема может возникнуть. Как обычно, нужно освободить место ...

27 голосов
/ 11 февраля 2012

Возможно, ваш проект запущен с опцией «Скомпилировать при сохранении». Пожалуйста, снимите этот флажок.

Я знаю, что эта опция очень полезна, но "Compile on Save" вызывает такие проблемы.

5 голосов
/ 09 июня 2011

Обычно это проблема CLASSPATH.Попробуйте сбросить CLASSPATH и / или убедиться, что все сторонние JAR-файлы действительно находятся в правильных местах.В некоторых редких случаях эта проблема возникает, когда у JVM возникают проблемы с загрузкой стороннего jar-файла из-за несовместимости версий.Можете ли вы опубликовать свои настройки CLASSPATH?

3 голосов
/ 25 сентября 2012

У меня была похожая проблема, которая производила NoClassDefFoundError, вызванную ClassNotFoundException.

В моем случае я скопировал в свой файл pom.xml зависимость, содержащую строку

<scope>provided</scope>

Похоже, что netbeans / maven загрузил jar в Netbeans для разработки и компиляции, но оставил его вне исполняемого jar, поскольку я сказал, что он "предоставлен".

Когда я удалил эту строку из моего pom.xml, ошибка исчезла.

3 голосов
/ 21 января 2012

У меня была такая же проблема Ошибка Class not Found и после прочтения некоторых из этих комментариев обнаружил, что netbeans потеряет ссылку на добавленные файлы jar в библиотеке.Удаление банок и добавление их снова в библиотеку воссоздает ссылку.

3 голосов
/ 03 июля 2011

@ dah: я понимаю, что ваш код развернут в netbeans, настроенном как JDK, как простое Java-приложение. Когда вы запустили ваше приложение, вы столкнулись с проблемой NoClassDefFoundError? Это правильное понимание. NoClassDefFoundError может быть вызван любой из следующих проблем: - я) класс действительно нет. sol: очевидное решение. II) Класс присутствует, но все еще ошибка. Sol: проверьте, присутствует ли он в classpath. classloader visibilty здесь важен. iii) Класс присутствует и присутствует в пути к классам, но все равно ошибка. Sol: Если у вас есть класс в jar, это может быть связано с тем, что jar создал с использованием другой версии java, чем то, что вы используете. Таким образом, вам нужно перекомпилировать банку, а затем заменить новую банку. проверьте это: - http://code.google.com/p/versioncheck/

2 голосов
/ 09 апреля 2017

Для меня эта проблема возникла сразу после того, как NetBeans сказал «недостаточно памяти». Я пробовал другие решения, перезапуск, перезагрузка, удаление различных каталогов, как указано выше, но безрезультатно.

По какой-то причине, он удалял каталог Classes из / build, а затем делал Clean / Build. Не знаю, почему это сработало, потому что я думал, что dir был удален во время «Очистки» в любом случае ... возможно, удаление его запутало NetBeans конструктивным образом (?)

2 голосов
/ 23 января 2014

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

Попробуйте, это будет полезно.

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

Я использую Netbeans 6.9.1, и время от времени он просто запутывается и начинает говорить, что не может найти некоторые ссылки.Я запускаю его на двух разных машинах Windows с разными конфигурациями, и это происходит на обеих из них.В большинстве случаев это файл .jar.Единственное решение, которое мне удалось найти, - это перезапустить NetBeans.

0 голосов
/ 23 января 2015

Я использовал решение, опубликованное JVerstry.Я работал на меня:

Ubuntu Studio с NetBeans 8.0.2

проблема возникла после установки плагина jax-rpc для создания клиента веб-службы.

надеюсь, что этопоможет кому-нибудь еще.

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