首页 > 解决方案 > Java 10 及更高版本的 Maven 编译器设置

问题描述

我在 maven pom.xml 文件中设置编译器版本,如下所示:

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

我为 Java 10 及更高版本设置了哪个版本?看起来 lije 10 或 1.10 不起作用。Java 10 及更高版本的标签是否已更改?

public static void main(String[] args)
{
   try (var in = new Scanner(System.in))
   {
      System.out.print("Enter n: ");
      int n = in.nextInt();
      factorial(n);
   }
}

编译器抱怨它无法解析符号 var,尽管将版本设置为 10 或 1.10。

标签: javamaven

解决方案


这是一个有用的链接:http ://tutorials.jenkov.com/maven/java-compiler.html

对于 Java 8 或更早版本,请使用:

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

对于 Java 9 或更高版本,请使用:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.8.1</version>
    <configuration>
        <release>11</release>
    </configuration>
</plugin>

推荐阅读