java - 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。
解决方案
这是一个有用的链接: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>
推荐阅读
- graphdb - GraphDB 9.3.0(Win-Desktop)未启动
- javascript - 如何在highcharts react js中获取legendItemClick的x和y偏移位置?
- html - 为什么只出现第一个 DIV,如果订单可用,如何显示其他 DIV?
- javascript - Promise.allSettled 在 Angular 9 和 typescript 3.8.3
- php - 如何从选定的图标下拉列表中获取价值?
- c++ - 复制 C 风格的数组和结构
- flutter - 我怎样才能让一切都让设备音频播放器颤抖
- inno-setup - Inno Setup:具有不同选项的不同串行键?
- azure - Azure Powershell 函数应用程序与 Blob 交互
- firebase - 在 fireabase 云函数中使用 FieldValue