码迷,mamicode.com
首页 > 其他好文 > 详细

JDK8升级至JDK11步调及要点

时间:2019-11-08 22:36:10      浏览:51      评论:0      收藏:0      [点我收藏+]

标签:base64   官方   dde   over   embed   修改情况变量   javase   开辟情况   must   

 

项目情况描述:

称号 升级前版本 升级后版本
JDK JDK 8 JDK 11
Spring Boot 2.1.0 2.1.0
Spring Cloud Greenwich Greenwich
Eclipse Mars.2 Release (4.5.2) 2019-09 R (4.13.0)

 

 

 

 

 

 

 

 

一、懂得JDK11

1、版本解释

美国本地时间2018年9月25日,Oracle 官方宣布 Java 11 (18.9 LTS) 正式发布,可在临盆情况中应用!这是自 Java 8 后的首个经久支撑版本。按照 Oracle 公布的支撑道路图,Java 11 将会取得 Oracle 供给的经久支撑办事,直至2026年9月。

技巧图片

 

2、许可证

技巧图片

3、新特点

技巧图片

 

2、开辟情况设备

1、JDK11下载与装置

(1)官方下载途径

https://www.oracle.com/technetwork/java/javase/downloads/jdk11-downloads-5066655.html

 

(2)官方装置指南

JDK11没有JRE装置,装置与设备相较之前更精简)

https://docs.oracle.com/en/java/javase/11/install/overview-jdk-installation.html

 

2、情况变量设备

调换Path中JDK8的Path目次,改成:C:\Program Files\Java\jdk-11.0.5\bin;

 

3、JAVA IDE适配版本

1、Eclipse

(1)Eclipse 4.9版本开端支撑JDK11版本

(2)官方下载途径:https://download.eclipse.org/eclipse/downloads/

(3)我下载的是Eclipse 2019-09 R (4.13.0) 版本

 

2、IntelliJ IDEA

(1)2018年9月份之前的版本,能够会存在一些成绩,尽可能下载2019.2版本。

(2)官方下载途径:https://www.jetbrains.com/idea/download/

 

四、修改开辟设备

1、maven版本升级

(1)3.5.4版本(该版本今后可以不消升级)

技巧图片

 

(2)删除JAVA_HOME和CLASSPATH设备,mvn –v检查版天性否精确

技巧图片

 

(3)maven下载地址

(我下载的3.6.2版本,此版本侧重于性能改进、更好的内存占用和更少的 CPU 应用率)

https://maven.apache.org/download.cgi

 

(4)修改情况变量

MAVEN_HOME修改成:E:\Program Files\apache-maven-3.6.2

 

2、修改eclipse设备

(1)修改maven途径

(2)修改JDK途径

(3)修改Compiler为Java11

 

五、代码修改

1、编译报错

1、sun.misc.BASE64Encoder、sun.misc.BASE64Decoder找不到类

(1)缘由:JDK11中删除sum.misc包

(2)处理方法:应用java.util.Base64.Encoder、java.util.Base64.Decoder调换

 

2、办事启动报错

(1)WARNING: Unable to start embedded Tomcat(启动eureka办事时)

缘由:JDK11下应用最新的Greenwich版本的eureka默许情况下必定没法启动,日记提示内嵌的Tomcat没法启动。官方原文:

The JAXB modules which the Eureka server depends upon were removed in JDK 11. If you intend to use JDK 11 when running a Eureka server you must include these dependencies in your POM or Gradle file.

处理办法:参加JAXB依附

<dependency>

         <groupId>org.glassfish.jaxb</groupId>

         <artifactId>jaxb-runtime</artifactId>

         <version>2.3.2</version>

</dependency>

 

(2)WARNING: Illegal reflective access by com.thoughtworks.xstream.core.util.Fields (file:/E:/WorkSpace/IDEs/MAVEN/RepositoryMicro/com/thoughtworks/xstream/xstream/1.4.10/xstream-1.4.10.jar) to field java.util.TreeMap.comparator(启动客户端办事时)

缘由:JDK9今后的版本,模块化的概念去除JAXB(默许没有加载),需做接入声明。

处理办法:参加JAXB依附

<!--  jdk11 jaxb模块援用 start  -->

<dependency>

   <groupId>javax.xml.bind</groupId>

        <artifactId>jaxb-api</artifactId>

</dependency>

 <dependency>

         <groupId>com.sun.xml.bind</groupId>

         <artifactId>jaxb-impl</artifactId>

         <version>2.3.0</version>

 </dependency>

 <dependency>

        <groupId>org.glassfish.jaxb</groupId>

        <artifactId>jaxb-runtime</artifactId>

        <version>2.3.0</version>

</dependency>

 <dependency>

         <groupId>javax.activation</groupId>

         <artifactId>activation</artifactId>

          <version>1.1.1</version>

</dependency>

<!--  jdk11 jaxb模块援用 end  -->

 

笔者在JDK8的情况下,换到JDK11测试其兼容性,以上是过程记录。不合的情况升级到JDK 11,能够碰到的成绩会有些许差别,但大年夜致情况应当差不多。如有疑问,迎接下方评论。

 

撰写不容易,转载请注明出处,感谢!

地址:https://www.cnblogs.com/80dream/p/11799115.html

 

JDK8升级至JDK11步调及要点

标签:base64   官方   dde   over   embed   修改情况变量   javase   开辟情况   must   

原文地址:https://www.cnblogs.com/80dream/p/11799115.html

(0)
(0)
   
告发
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权一切 京ICP备13008772号-2
迷上了代码!