Maven 教程:IDEA开发环境中maven 项目配置JDK9,JDK10,JDK11,JDK12..等EA版本的配置方法 系列教程一

news/2024/7/5 20:00:20 标签: JDK, JDK9, JDK10, JDK11, Maven

Maven中配置使用的JDK,一般有两种方法,笔者会对如下的两种方法进行 分别的介绍。

笔者就以JDK10作为介绍,其他正常的JDK版本的配置也是一样的。这里使用JDK10 只是为了作一个通用的示范,使得大家举一反三。后面会贴出其他版本的配置信息。供大家拷贝粘贴。知道大家开发项目就是为了快速解决问题。

JDK10:

步骤一.确定jdk版本正确

这里写图片描述
此处笔者使用的是JDK10,如果希望配置JDK9或其他版本,只需要将JAVA_HOME环境变量配置到指向指定版本的JDK安装目录即可
参考Jdk环境变量配置的方法

步骤二.

这里写图片描述
配置完成之后一定要重启IDE,一定要重启IDE,一定要重启IDE!!!

步骤三

在IDEA中的项目配置中。配置好正确的JDK版本。也就是我们需要的版本。这步是最重要的
这里写图片描述
注意:如果此步骤不配置会不生效。

pom 文件配置

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

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.7.0</version>
</plugin>

刷新Maven项目

这里写图片描述
或者AutoImport也可以,但这里写图片描述是不建议使用,因为会导致性能下降

查看是否配置成功

这里写图片描述

验证是否成功

按照图中的指引进行编译,编译后去target目录查看编译后的字节码。

这里写图片描述
打开字节码目录

这里写图片描述

其他版本的JDK 配置方法

JDK9

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

JDK11

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

JDK12

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

总结一下,上文。Maven compiler 这个插件可以理解为一个空壳,他会根据我们标志的maven.compiler.source去我们当前的编译器中找相应的版本,假设我们的编译器版本是10的话,我们这里的source.target写10,1.9,1.8,1.7…都是可以的。但是填写11就不行了。因为我们的编译器最高版本就10,所以编译时会报错!同样的,也就是这个特性,使得我们可以使用高版本 的编译器,编译 出低版本的字节码

延续上面的例子,我们把编译器的版本换低。尝试编译后的代码,查看有和变化,此时我们的JDK 是10,我们把编译版本设置成JDK8,看看有什么效果
这里写图片描述
至于为啥高版本可以比编译低版本,这大家就得了解一下Javac的交叉编译了
类似下面,我也不做多解释,因为笔者也不是很懂。也不怎么感兴趣。有兴趣的可以自己了解

 javac -target 1.6 -source 1.7 -bootclasspath /usr/java/jdk1.6.0_27/jre/lib/rt.jar Main.java

本文参考链接:

javac1.7交叉编译
https://stackoverflow.com/questions/18320587/javac-cross-compilation-with-1-7

maven 项目如何实现java9
https://github.com/cfdobber/maven-java9-jigsaw

maven compile 插件解释
https://maven.apache.org/plugins/maven-compiler-plugin/examples/pass-compiler-arguments.html

java交叉编译
https://docs.oracle.com/javase/8/docs/technotes/tools/windows/javac.html


http://www.niftyadmin.cn/n/892079.html

相关文章

Maven 教程:IDEA开发环境中maven 项目配置JDK9,JDK10,JDK11,JDK12..等EA版本的配置方法 系列教程二

大家想了解一下另外一种简单的方法&#xff0c;可以参考我的上一篇博客 这Maven 教程&#xff1a;IDEA开发环境中maven 项目配置JDK9&#xff0c;JDK10&#xff0c;JDK11&#xff0c;JDK12..等EA版本的配置方法 系列教程一 这里我们思考我们上一个配置方式的问题。 首先我们…

Gradle 教程: 教你配置全局国内仓库,解决新建项目卡顿,下载构建慢等问题

想必各位从Maven 转过来的大佬们&#xff0c;对于maven中配置国内仓库的方法还记忆深刻。通过/用户目录下/.m2/settings.xml 局部配置或者修改全局配置。不过没有接触过maven 也不要紧&#xff0c;可以参考本人的Maven深入学习教程 废话不多说。 步骤一&#xff1a;进入GRADLE…

Spring教程:ViewResolver 视图解析器以及视图View详解,自定义视图解析器

本教程源码地址 https://gitee.com/blueboz/spring-learn.git Spring框架中。视图解析器是MVC 的V&#xff08;视图&#xff09;环节。这个环节在Spring 中的最主要体现在与如何将模型数据与视图进行绑定渲染&#xff1f; 切入点追踪Controller 首先我们从最简单的控制器开…

Gc学习笔记:浅谈GC,简略分析CMS,Jvm堆内存结构,JVM性能调优等

标题测试工具 jvisual jvisual 自从jdk8之后就被移除掉了&#xff0c;我们需要自己去下载 https://visualvm.github.io/ 下载之后&#xff0c;GC图是不存在的&#xff0c;需要自己安装 Tools->Plugins->Available Plugins->Visual GC 勾选&#xff0c;然后Install即可…

HttpClient 4.x 学习笔记:Cookie自动保存,登录状态保持,会话保持

HttpClient 4.x 有这个功能&#xff0c;就是Cookie 维持功能。意思是说&#xff0c;通过如下代码创建了一个HttpClient &#xff0c;如果不关闭这个HttpClient 的话&#xff0c;那么他的请求会自动解析上一个请求的Set-Cookie&#xff0c;并且将其存储到CookieStore 里面。 pr…

Gradle 错误:Eclipse环境下gradle报错Could not target platform: 'Java SE 10' using tool chain: 'JDK 8 (1.8)'.

问题简述 当使用gradle 的时候&#xff0c;在build.gradle 文件中&#xff0c;通过如下脚本指定代码的版本。 project.sourceCompatibility1.10 project.targetCompatibility1.10这个问题其实已经很明显&#xff0c;gradle 是依赖groovy ,groovy又是依赖jdk 的&#xff0c;明…

Oracle: 环境变量相关总结,Toad关于OCI的配置,PLSQL等配置

环境变量快速示例 在环境变量中&#xff0c;有效的环境变量有如下 ORACLE_HOMEORACLE_SIDSQLPATHTNS_ADMINNLS_LANG 其中ORACLE_HOME环境变量允许指向多个instant-client ,需要注意的是&#xff0c;对于plsql来说&#xff0c;建议是指定一个比较好&#xff0c;因为如果指定了…

Docker 笔记: 常见配置速查,深入版

修改Docker-machine默认存储位置 我们在创建虚拟机 的时候&#xff0c;加上这一段就好,如下黑体字 docker-machine -s“E:\DockerMachine” create --engine-reg istry-mirrorhttps://dq2jkweq.mirror.aliyuncs.com -d virtualbox default -s 参数表示的是Docker虚拟机存储的目…