Подтвердить что ты не робот

Maven clean + build заставляет проект в Eclipse показывать ошибки до очистки в Eclipse

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

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

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

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

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

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

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

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

4b9b3361

Ответ 1

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

mvn eclipse:clean
mvn clean install
mvn eclipse:eclipse

Ответ 2

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

Ответ 3

Я обнаружил, что наличие jar в maven в качестве области "test" вызовет ошибку "unresolved type", и ничто из найденного мной пока не исправит его, кроме как вытащить его из области действия test в файле pom.