Ошибки «Не удается найти символ» в NetBeans - PullRequest
7 голосов
/ 22 января 2012

Я работаю над школьным проектом с использованием NetBeans 7, Maven и платформы NetBeans. Проект создан с использованием шаблона проекта «Maven / POM Project». Это многоуровневое «корпоративное» приложение, которое использует несколько модулей (модель, интеграция, бизнес, презентация, само приложение с расширенными возможностями и несколько других).

Есть зависимости между этими модулями (но нет циклических зависимостей). Проблема в том, что Maven или NetBeans постоянно путаются. Есть несколько типов проблем, которые появляются периодически без какого-либо триггера. Я должен продолжать перекомпилировать модули, закрывать и снова открывать NetBeans, очищать кэш NetBeans, удалять и считывать зависимости и т. Д., Чтобы временно устранял проблемы. У меня постоянно возникают эти проблемы с двумя различными установками NetBeans в Windows XP SP3 и Mac OS X.

Симптомы:

1) Иногда NetBeans решает, что ни один из классов, импортированных из другого модуля, не существует (и я получаю ошибки cannot find symbol. Это происходит неоднократно, иногда с модулями, которые я успешно скомпилировал несколько секунд назад. В большинстве случаев перекомпилирование зависимости не помогает. Необходимые зависимости объявлены в POM, файлы JAR существуют, и если я разверну их в представлении проекта, я смогу увидеть рассматриваемые классы.

2) Иногда NetBeans решает, что метод импортированного класса на самом деле не генерирует исключение, которое он объявляет. Поскольку вызовы таких методов обычно окружены блоками try, NetBeans отображает ошибку с сообщением a.package.SomeException is never thrown in body of corresponding try statement. Если я не удаляю блок try, модуль не компилируется из-за NetBeans. Если удалить блок, модуль не скомпилируется из-за Maven (Maven по какой-то причине может увидеть исключение и жалуется, что он не перехвачен). Это также происходит неоднократно, я не совсем уверен, как надежно исправить это.

На данный момент проблемы с Maven и NetBeans настолько серьезны, что я не могу фактически работать над проектом. Если бы мне не пришлось использовать NetBeans и Maven, я бы вернулся к vim и Makefiles. Кто-нибудь хотя бы распознает эти проблемы?

РЕДАКТИРОВАТЬ: Я представил проект, получил 30 из 20 баллов за него за некоторую дополнительную работу, которую я сделал над ним, и пока он не покинет альфа-стадию, я надеюсь, что никогда не получу снова работать с NetBeans.

Ответы [ 5 ]

2 голосов
/ 13 марта 2012

У меня было is never thrown, маскирующее cannot find symbol в многомодульном проекте maven в Netbeans 7.0.0

Указанным символом был класс в другом модуле моего основного проекта maven.

Я реорганизовал / переименовал класс, который не был найден - это решило проблему.Затем я переименовал его обратно - проблема осталась исправленной.

Не идеально, но я решил поделиться.

0 голосов
/ 13 сентября 2016

Я столкнулся с этим один раз с NetBeans 8.0.2. проблема была явно связана с проектом ломбок, но я понятия не имею, почему это произошло. я установил maven и сделал «mvn clean install» на каждом из моих проектов, и это, похоже, решило проблему. После этого NetBeans снова начал работать.

0 голосов
/ 09 ноября 2013

Если у вас есть несколько проектов, будьте осторожны с опцией netbeans при компиляции при сохранении, если некоторые из ваших зависимостей включили эту опцию, компиляция вашего основного проекта не удалась, отключите автоматическую компиляцию при сохранении, перекомпилируйте зависимости (Очистите и соберите ) и с тобой все будет в порядке.

0 голосов
/ 03 сентября 2013

Удаление зависимости, сборка (и получение ошибок компиляции), а затем ее повторное добавление (либо вручную, из pom.xml, либо из интерфейса) мне помогло. Но я согласен, что это серьезная ошибка.

0 голосов
/ 06 февраля 2012

У меня была проблема с ошибкой пометки netbeans '... Исключение никогда не выдается в теле соответствующего оператора try' Проект будет работать нормально, но сообщения об ошибках не исчезнут.Наконец исправил это, выйдя и открыв netbeans.

Я на Mac, и кнопка закрытия на самом деле не закрывает netbean-компоненты, необходимые для полного выхода.

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