it-swarm.com.ru

java.lang.RuntimeException: некомпилируемый исходный код - что может вызвать это?

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

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

48
MalcomTucker

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

32
Chandra Sekar S

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

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

67
Dime

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

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

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

Что касается того, как удалить кеш:

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

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

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

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

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

23
kommradHomer

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

5
UVM

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

1
Nadeeshani William

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

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

0
IqbalHamid

Отключить развертывание при сохранении в окне «Свойства»/«Выполнить» проекта. Вот что сработало для меня наконец. Почему, черт возьми, NetBeans портит это, мне не понятно.

Примечание. Мне удалось скомпилировать файл, на который он жаловался, с помощью щелчка правой кнопкой мыши в NetBeans. Очевидно, что когда я использовал Build & Compile, на самом деле он не компилировался, так как это не дало никаких ошибок. Но затем после этого ошибки просто переместились в другой файл класса Java. Я не мог тогда скомпилировать, потому что он был серым. Я также попытался удалить каталоги build и dist в моих файлах проекта NetBeans, но это тоже не помогло.

0
mikato

Организуйте свой код как модуль maven . После завершения выполните команду из терминала.
$mvn installl
, чтобы проверить, хорошо ли работает ваш код.
Наконец, импортируйте проект в NetBeans или Eclipse как проект Maven.

0
Enrico Giurin

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

0
Kleyton

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

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

0
chandima

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

0
Meluleki Dube

У меня была эта проблема с NetBeans 8.0.1. Сообщения о проблеме в проекте удалены классом. Удаление ~/.netbeans не сработало. Также я искал ЛЮБУЮ ссылку на удаленный класс во ВСЕХ моих проектах, ничего не нашел. Я удалил классы сборки, все. Затем, когда я снова запустил Netbeans, скомпилируйте и волшебным образом отобразите сообщение «Выполнить» в классе, скомпилированном матерью. Я попытался снять флажок «Скомпилировать при сохранении» решения Dime и работает, но это не практично…. Наконец, мое решение было отредактировать и принудительно перекомпилировать родительский класс. Таким образом, новый .class не содержит сообщения, и Run работает нормально.

0
Rogelio

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

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

0
Damir Olejar

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

0
user2822399