Используя затмение 3.5, то, когда я создаю новый проект знатока, m2eclipse автоматически, добавляет J2SE1.4 к библиотекам и Уровень совместимости компилятора к 1,4 (Свойства проекта> Компилятор Java). Моя системная библиотека JRE 1.6, и мой уровень совместимости компилятора по умолчанию 1.6. У меня даже нет 1,4 установленных. Я могу заставить m2eclipse использовать мои настройки по умолчанию и препятствовать тому, чтобы он изменил настройки проекта?
Он должен соответствовать конфигурации maven-compiler-plugin
:
<build>
[...]
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
[...]
</build>
(даже если, как упомянуто в этом потоке , он не будет работа для аспекта-j)
Этот поток напоминает нам о разнице между m2eclipse в eclipse и скриптом maven:
Стоит упомянуть, что это относится только к «режиму разработки», когда m2eclipse - настройка инструментов Eclipse, таких как JDT, AJDT и WTP, в соответствии с конфигурацией из pom.xml. Вот как вы обычно кодируете и отлаживаете свое приложение, запускаете модульные тесты (с помощью Run as ... / JUnit test) или запускаете на сервере веб-приложений (Run as ... / Server app).
Однако, если вы используете Run as ... / Maven build ... или создаете соответствующую конфигурацию запуска из меню Run / Debug, вы можете выбрать JVM, которая используется для запуска Maven, и вся ваша конфигурация компилятора будет соблюдена. таким же образом это соблюдается в командной строке.
Итак:
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<verbose>true</verbose>
<fork>true</fork>
<executable><!-- path-to-javac --></executable>
<compilerVersion>1.3</compilerVersion>
</configuration>
</plugin>
</plugins>
m2e не использует (и не может) использовать внешний компилятор java, поэтому он просто игнорирует эти параметры конфигурации. m2 учитывает только параметры исходного / целевого maven-compiler-plugin.
Уровень соответствия JDK вытекает из проекта maven, а не наоборот. Другими словами, вам нужно настроить плагин компилятора maven на соответствие уровню 1.6, а затем m2eclipse выведет соответствующие настройки в Eclipse:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.0.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
pom.xml
- это мастер, а не m2eclipse.