Maven m2e применяет собственные настройки компилятора - отключить
После запуска Eclipse Mven, похоже, установил параметры компилятора на 1,5 и забыл все остальные глобальные настройки стиля кода, чтобы обеспечить более высокое качество кода.
Есть ли способ отключить эту функцию? Или я могу указать все проверки стиля компилятора и кода в моем POM?
Это очень раздражает, потому что Ecplise не может запустить приложение из-за недопустимого переопределения аннотаций для интерфейсов. Галочка в Java compiler
-> Enable project specific settings
всегда устанавливается после перезагрузки.
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/
но я не уверен, что интеграция подхватит их.
Самый простой способ - добавить в свой POM
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
См. Настройки компилятора по умолчанию для других решений.
Если вы не хотите, чтобы плагин m2e eclipse активно вмешивался в настройки вашего проекта, используйте цель eclipse maven-eclipse-plugin для генерации настроек eclipse.
Он будет генерировать ваши параметры затмения на основе того, что у вас есть в pom, поэтому вам все равно нужно будет установить параметры компилятора maven в pom, если вы не хотите устанавливать их каждый раз, когда вы обновляете файлы проекта eclipse, когда Вы обновляете свой пом.
Если вы посмотрите на подробную конфигурацию этого плагина, есть инструкции, как генерировать различные фрагменты метаданных затмения.