java.lang.RuntimeException: некомпилируемый исходный код - что может вызвать это? - PullRequest
50 голосов
/ 25 февраля 2010

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

Что может вызвать это?

Ответы [ 14 ]

68 голосов
/ 08 февраля 2011

Если это Netbeans, попробуйте снять флажок «Компилировать при сохранении» в свойствах проекта («Сборка» -> «Компиляция»). Это единственное, что помогло мне в подобной ситуации.

Источник: http://forums.netbeans.org/post-45324.html

32 голосов
/ 25 февраля 2010

Полагаю, вы используете IDE (например, Netbeans), которая позволяет запускать код, даже если некоторые классы не компилируются. Если во время выполнения приложения вы получите доступ к этому классу, это приведет к этому исключению.

24 голосов
/ 05 апреля 2012

Это вызвано тем, что NetBeans сохраняет часть старого исходного кода и / или скомпилированного кода в своем кеше и не замечает этого, например, некоторые зависимости кода (то есть ссылочные пакеты) изменились, и что правильное обновление / перекомпиляция файла будет в порядке.

Решение состоит в том, чтобы принудительно обновить это:

a) поиск и редактирование исходного файла, который нарушил работу, для принудительной его перекомпиляции (например, добавление фиктивной строки, сохранение, удаление, сохранение снова),
б) делать чистую сборку (иногда будет работать, иногда нет),
в) отключение «Скомпилировать при сохранении» (не рекомендуется, поскольку это может сделать использование IDE королевской PITA), или
d) просто удалите кэш NetBeans вручную, что приведет к перекомпиляции.

Как удалить кеш:

Если вы используете старую версию NetBeans:

  • удалите все, что связано с вашим проектом, в .netbeans/6.9/var/cache/index/ (замените 6.9 вашей версией).

Если вы используете более новую версию:

  • удалите все, что связано с вашим проектом, в AppData/Local/NetBeans/Cache/8.1/index/ (замените 8.1 версией).

Пути могут немного отличаться, например на разных платформах, но идея все та же.

5 голосов
/ 13 декабря 2013

Я также получил ту же ошибку, и я сделал чистую сборку, и она работала.

1 голос
/ 17 мая 2017

Добавить selenium-server-standalone-3.4.0.jar. Это работает для меня. Ссылка для скачивания

0 голосов
/ 11 сентября 2018

У меня была такая же проблема с одним из моих проектов netbeans.

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

0 голосов
/ 08 декабря 2017

Перепроверьте объявления пакетов во всех ваших классах!

Такое поведение наблюдается в NetBeans, когда объявление пакета в одном из классов пакета ссылается на несуществующий или неправильный пакет. NetBeans обычно обнаруживает и выделяет эту ошибку, но известно, что она дает сбой и вводит в заблуждение сообщение о том, что пакет не содержит ошибок, если это не так.

0 голосов
/ 18 августа 2017

У меня была такая же проблема. Моя ошибка была упаковкой. Поэтому я бы посоветовал вам сначала проверить имя пакета и, если класс находится в правильном пакете.

0 голосов
/ 19 февраля 2016

Если вы используете Netbeans, попробуйте нажать кнопку «Очистить и построить», дайте ему сделать это и попробуйте снова. Работал на меня!

0 голосов
/ 16 марта 2015

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

Также у вас могут быть странные персонажи. Попробуйте выполнить белую очистку кода в блокноте (или Gedit), а затем вставьте его во вновь созданный класс с помощью вашей IDE.

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