Maven m2e применяет собственные настройки компилятора — отключить

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

Есть ли способ отключить эту функцию? Или я могу указать все проверки компилятора и стиля кода в моем POM?

Это очень раздражает, потому что Ecplise не может запустить приложение из-за недопустимых переопределяющих аннотаций для интерфейсов. Галочка в Java compiler -> Enable project specific settings всегда ставится после перезагрузки.


person Franz Kafka    schedule 10.01.2012    source источник
comment
Я изменил большинство проверок компилятора с игнорирования на предупреждение.   -  person Franz Kafka    schedule 11.01.2012
comment
Для проверок компилятора просто установите их на уровне рабочей области.   -  person deterb    schedule 11.01.2012


Ответы (3)


Вы можете установить исходную и целевую версии компилятора (байт-код) в вашем pom.
См. http://maven.apache.org/plugins/maven-compiler-plugin/examples/set-compiler-source-and-target.html

Проверки стиля кода можно настроить в pom как часть отчетов maven, см. http://maven.apache.org/plugins/maven-checkstyle-plugin/
, но я не уверен, что интеграция подберет их.

person crowne    schedule 10.01.2012
comment
Я был бы счастливее, если бы мог просто отключить maven, который испортит мои настройки Java. Почему всегда нужно ставить эту галочку в этом поле? Значение по умолчанию 1,5 — это ужасно. - person Franz Kafka; 11.01.2012
comment
@FranzKafka, одна из вещей, на которых сосредоточен Maven, - это совместимые сборки. Если вы попытались создать свое приложение через командную строку или с помощью инструмента CI, они попытаются собрать его на версии 1.5, потому что в настоящее время Maven использует ее по умолчанию. Если вы укажете информацию об источнике/цели, m2e будет использовать правильные настройки. - person deterb; 11.01.2012
comment
Все в порядке, хотя я также изменял проверки стиля кода Eclipse, но они, похоже, нетронуты. - person Franz Kafka; 11.01.2012

Самый простой способ - добавить в свой POM

<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
 <source>1.6</source>
 <target>1.6</target>
</configuration>

См. настройку компилятора maven по умолчанию для других решений.

person alexsmail    schedule 10.01.2012
comment
Чтобы дополнить это, взгляните на code.google.com/ p/m2e-extensions/wiki/HomePage?tm=6, которые предоставляют ряд дополнительных плагинов контроля качества, которые добавляют конфигурацию на основе вашего файла pom. - person deterb; 11.01.2012

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

Он сгенерирует ваши настройки eclipse на основе того, что у вас есть в вашем pom, поэтому вам все равно нужно будет установить параметры компилятора maven в вашем pom, если вы не хотите устанавливать их каждый раз, когда вы регенерируете файлы проекта eclipse, когда вы обновляете свой pom.

Если вы посмотрите на подробную конфигурацию этого плагина, там есть инструкции о том, как генерировать различные фрагменты метаданных eclipse.

person deterb    schedule 11.01.2012