0%

IDEA中Maven配置JDK11进行编译

前几天JDK11发布了不是,所以赶紧下载体验一番,我用的是IDEA编辑器(IntelliJ IDEA 2018.2.4 x64),注意IDEA也要更新到最新版,用Maven编译的话需要进行相关配置,在此记录一下。

首先需要配置JDK的环境变量,配置好了显示如下:

image

然后进入到IDEA中,配置项目使用的JDK版本,依次点击File -> Project Structure,然后找到Project SDK选项,配置如下:

image

接下来配置Maven的JDK版本,点击File -> Settings -> Build, Execution, Deployment -> Build Tools -> Maven,然后选择Runner,配置Maven使用的JDK版本,配置页面如下:

image

最后配置下maven的pom.xml文件,将目标编译版本改为JDK11,配置如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
</properties>

<dependencies>

<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
</dependencies>

<build>
<finalName>java11-tutorial</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>11</source>
<target>11</target>
</configuration>
</plugin>
</plugins>
</build>

刷新maven项目,试着编译下,可以看到已经使用JDK11编译了:

image

看下编译后的字节码的大小版本号,利用HexPad编辑器打开class文件,如下。可以看到minor_version为 0x0000, major_version为0x0037,而0x0037的十进制表示为55,即用jdk11编译的,准确无误。

image

向本文提出修改或勘误建议