m2eclipse устанавливает соответствие JDK на 1,4

Используя затмение 3.5, то, когда я создаю новый проект знатока, m2eclipse автоматически, добавляет J2SE1.4 к библиотекам и Уровень совместимости компилятора к 1,4 (Свойства проекта> Компилятор Java). Моя системная библиотека JRE 1.6, и мой уровень совместимости компилятора по умолчанию 1.6. У меня даже нет 1,4 установленных. Я могу заставить m2eclipse использовать мои настройки по умолчанию и препятствовать тому, чтобы он изменил настройки проекта?

9
задан Jihed Amine 13 June 2010 в 14:50
поделиться

2 ответа

Он должен соответствовать конфигурации 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.

6
ответ дан 4 December 2019 в 21:07
поделиться

Уровень соответствия 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.

4
ответ дан 4 December 2019 в 21:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: