Java 版本在 maven 更新后自动更改为 java 1.5

2022-08-31 07:38:52

我正在使用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构建路径”更改为“工作区默认jre 1.8.0_25”
  2. 然后将“java编译器”更改为1.8
  3. 然后更改“项目方面”>java>1.8
  4. 将 pom.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更新”时,我的java版本会自动更改为1.5。同样在上面的步骤中,前两个步骤的版本也会自动更改为1.5。我该如何解决这个问题?


答案 1

打开文件并在其上添加以下行:pom.xml

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

您当前的 JDK/JRE 的 Java 版本在哪里。另一种方法是添加 as:1.8<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 +的方法,请查看@JDelorean的答案


答案 2

当我安装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>

这似乎解决了问题。适用于版本 9 及更高版本。


推荐