Maven clean + build приводит к тому, что проект в Eclipse показывает ошибки, пока не очистится в Eclipse - PullRequest
21 голосов
/ 14 марта 2012

Мы получаем очень странное поведение в нашей среде разработки, которое согласуется со всеми нашими разработчиками в разных операционных системах.

У нас есть более 20 проектов Maven (3.0.4) в среде разработки, все они являются открытыми проектами в Eclipse (Indigo) с sonatype m2e (0.12.0), как обычно обрабатывающими зависимости. (m2e 1.0 вызывает у нас больше проблем, чем решений)

Из всех наших 20+ проектов есть один проект , который ведет себя странно. При выполнении mvn clean install для этого проекта, даже несмотря на то, что Maven успешно пропустил , он вызывает 4 java-файла (в модульных тестах, если это имеет какое-либо значение) для отображения ошибок в Eclipse.

Ошибки относятся к типу "SomeNameOfClass не может быть разрешен для типа", хотя при открытии файла и нажатии F3 (объявление Open) на ошибочной ссылке на класс класс находит без проблем.

mvn clean проблема, если мы просто запустим mvn install, этого не произойдет.

Проект Eclipse -> Clean очищает ошибки, и все в порядке.

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

Мне просто очень любопытно, почему это вообще происходит, почему именно эти 4 класса? почему почему почему? :)

Ответы [ 2 ]

22 голосов
/ 14 марта 2012

У нас была точно такая же проблема некоторое время назад.У нас было более 20 проектов с одинаковыми ошибками.Из проведенного нами исследования мы пришли к выводу, что при запуске maven clean install eclipse теряет отслеживание файлов классов и считает, что некоторые из них не определены.Решение, которое у нас было, это выдать в командной строке следующее:

mvn eclipse:clean
mvn clean install
mvn eclipse:eclipse
0 голосов
/ 10 декабря 2015

Теперь можно указать, что проекты должны обновляться после завершения на вкладке Refresh в Run configuration. Вам придется проверить Refresh resources upon completion и выбрать, какое поведение ниже.

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