Версия Java автоматически изменяется на java 1.5 после обновления maven



Я использую eclipse в качестве IDE. Когда я щелкните правой кнопкой мыши на проекте, а затем нажмите Maven обновить мою версию java изменить на 1.5. Вот что я сделал до сих пор, я следовал всем шагам, перечисленным здесь



http://qussay.com/2013/09/13/solving-dynamic-web-module-3-0-requires-java-1-6-or-newer-in-maven-projects/




  1. Я изменил "Java build path" на "workspace default jre 1.8.0_25"

  2. затем изменил "компилятор java" на 1.8

  3. затем изменены "фасеты проекта" > java>1.8

  4. изменен пом.xml java версия до 1.8


    <build>
<plugins>
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>9.1.3.v20140225</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugin</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>


после всего этого, когда я нажимаю на "Maven update", моя версия java автоматически меняется на 1.5. Также в вышеуказанных шагах, версия первых двух шагов также изменяется на 1.5 автоматически. Как я могу это исправить?

510   7  

7 ответов:

открыть pom.xml файл и добавьте в него следующие строки:

<properties>
   <maven.compiler.source>1.8</maven.compiler.source>
   <maven.compiler.target>1.8</maven.compiler.target>
</properties>

здесь 1.8 - Это версия java вашего текущего JDK / JRE. Другой способ сделать это-добавить <build> С maven-compile-plugin как

<build>
<plugins>
  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.2</version> <!-- or whatever current version -->
    <configuration>
      <source>1.8</source>
      <target>1.8</target>
    </configuration>
  </plugin>
</plugins>
</build>

была та же проблема, когда я установил Java 9. Мой проект будет по умолчанию для среды выполнения J2SE-1.5. Как ни странно, уровень соответствия Java 9 не упоминается как предыдущие версии, т. е. "1.8", а как "9". Поэтому мне пришлось предоставить свои свойства и конфигурацию плагина компилятора Maven соответственно:

<properties>
    <maven.compiler.source>9</maven.compiler.source>
    <maven.compiler.target>9</maven.compiler.target>
</properties>

и

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

это, кажется, решило проблему.

основная причина этой проблемы заключается в том, что если по какой причине затмение не может решить a действительный значение maven.compiler.source свойство при создании / обновлении .файл classpath из pom, он будет просто по умолчанию использовать org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5.

как мастерски ответил @jorge-campos, есть несколько способов установить это свойство.

однако, ответ Хорхе не сделал появляется работать на меня. Здесь были мои настройки:

<properties>
    <javaVersion>1.8</javaVersion>
    <maven.compiler.source>${java.version}</maven.compiler.source>
    <maven.compiler.target>${java.version}</maven.compiler.target>
</properties>

...

точно. ${java.version} - это никогда собирается разрешить (совершенно другое) свойство javaVersion и Eclipse проигнорировал свойство и использовал значение по умолчанию.

что возвращает меня к "по какой причине" часть я открыл с; глупость разработчика может быть одной из этих причин.

добавьте эти строки в свой pom.xml, затем щелкните правой кнопкой мыши свою системную библиотеку JRE - > свойства - > установите правильную среду выполнения на Java 1.8 или версию, которую вы хотите установить.

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.2</version> <!-- or whatever current version -->
    <configuration>
      <source>1.8</source>
      <target>1.8</target>
    </configuration>
  </plugin> 

У меня была эта проблема. В моем случае тег и вложенные теги, упомянутые Хорхе Кампосом выше, были в неправильном месте. Если я помещаю их между тегами и в pom.xml-файл, затем это поведение остановилось.

Это можно подобрать в Eclipse, если включена проверка этих файлов.

Я сталкиваюсь с подобной проблемой на одном из моих товарищей по команде машины. Он использовал старую версию Eclipse, я считаю, что он использовал Keppler. Проект после обновления измените версию JRE на 1.5.

простое обновление Eclipse до последней версии решить эту проблему.

Я изменил Eclipse с kepler на neon, а затем обновил свой проект с помощью Maven -> Update Project.

Comments

    Ничего не найдено.