美文网首页
jdk8升级到11

jdk8升级到11

作者: 梅西爱骑车 | 来源:发表于2020-08-31 08:31 被阅读0次

    入门

    本指南的目的是帮助您识别潜在问题,并在将现有Java应用程序迁移到最新JDK版本时为您提供有关如何继续的建议。该指南还强调了对最新版本所做的重大更改和增强。

    本指南包含以下部分:

    JDK 11发布的重大变化

    准备迁移

    从JDK 8迁移到以后的JDK版本

    下一步

    JDK 11发布的重大变化

    在将应用程序迁移到JDK 11之前,您应该了解它与JDK 10版本之间的更新和更改。如果要从JDK 8迁移,则还应熟悉从JDK 8迁移到以后的JDK版本中描述的JDK 8和更高版本之间的差异。

    以下是JDK 11中的一些重要更改:

    Oracle不再提供JRE和Server JRE下载; 因此,自动更新不再可用。

    Oracle不再提供32位Windows下载。

    JDK中不提供Java Web Start,Java插件和Java控制面板。请参阅删除部署堆栈。

    JDK中不再包含JavaFX。它现在可以从https://openjfx.io/单独下载。

    JAXB和JAX-WS不再与JDK捆绑在一起。请参阅删除Java EE和CORBA模块。

    此外,还需要了解与安全相关的更新以及很少删除的工具和组件。看到:

    安全更新

    删除了API,工具和组件

    删除部署堆栈

    Java部署技术在JDK 9中已弃用,在JDK 11中已删除。

    Java applet和Web Start功能,包括Java插件,Java Applet Viewer,Java控制面板和Java Web Start,以及javaws工具,已在JDK 11中删除。

    请参阅 删除Java部署技术。

    删除Java EE和CORBA模块

    在JDK 11中,删除了Java EE和CORBA模块。不推荐在JDK 9中删除这些模块。

    删除的模块是:

    java.xml.ws:用于XML Web服务的Java API(JAX-WS),用于Java平台的Web服务元数据以及用于Java的附件的SOAP(SAAJ)

    java.xml.bind:用于XML绑定的Java体系结构(JAXB)

    java.xml.ws.annotation:Java SE定义的JSR-250 Common Annotations的子集,用于支持Web服务

    java.corba:CORBA

    java.transaction:Java SE定义的Java Transaction API的子集,用于支持CORBA对象事务服务

    java.activation:JavaBeans Activation Framework

    java.se.ee:上面六个模块的聚合器模块

    jdk.xml.ws:JAX-WS的工具

    jdk.xml.bind:JAXB的工具

    如果不更改构建,则不会编译引用这些API中的类的现有代码。同样,在这些API类的引用的类路径上的代码将失败,NoDefClassFoundError或者ClassNotFoundException,除非改变了应用程序的部署制成。

    请参阅JEP 320:删除Java EE和CORBA模块以获取有关模块可能替换的更多信息。

    注意:

    您可以从Maven下载JAXB和JAX-WS。

    安全更新

    JDK 11版本包括传输层安全性(TLS)1.3规范(RFC 8446)的实现。

    TLS 1.3是传输层安全性(TLS)协议的最新版本(2018年8月),默认情况下在JDK 11中启用。此版本不仅关注速度改进,还通过强调现代加密技术来更新协议的整体安全性。实践,并禁止过时或弱的加密算法。(例如,不再允许RSA密钥交换和普通DSA签名。)

    TLS 1.3协议中添加了一些功能以提高向后兼容性,但有几个问题需要注意。有关详细信息,请参阅JEP 332。

    删除安全证书

    已从JDK 11中的信任库中删除以下根证书:

    几个Symantec根CA.

    巴尔的摩Cyber​​trust代码签署加州

    SECOM根证书

    AOL和Swisscom根证书

    使用已删除证书的产品可能不再有效。如果需要这些证书,则必须使用缺少的证书配置和填充cacerts。为了证书添加到信任,看到密钥工具在<cite style="box-sizing: border-box;">Java平台,标准版工具参考</cite>指南。

    删除了API,工具和组件

    本节提供有关在JDK 11中删除的API,工具和组件的详细信息。

    在JDK 11中删除了API

    在JDK 11中删除了以下API。许多这些API在以前的版本中已被弃用,并且已被更新的API替换。有关可能的替代方案的信息,请参阅JDK 11 API规范。

    javax.security.auth.Policy

    java.lang.Runtime.runFinalizersOnExit(boolean)

    java.lang.SecurityManager.checkAwtEventQueueAccess()

    java.lang.SecurityManager.checkMemberAccess(java.lang.Class,int)

    java.lang.SecurityManager.checkSystemClipboardAccess()

    java.lang.SecurityManager.checkTopLevelWindow(java.lang.Object)

    java.lang.System.runFinalizersOnExit(boolean)

    java.lang.Thread.destroy()

    java.lang.Thread.stop(java.lang.Throwable)

    JDK 11未提供的工具和组件

    以下是JDK 11未附带的工具和组件列表。

    主要工具

    appletviewer

    请参阅JDK-8200146:删除appletviewer启动器。

    CORBA工具

    idlj

    orbd

    servertool

    tnamesrv

    此外,rmic(RMI编译器)将不再支持-idl或-iiop选项。请参阅 JDK 11发行说明。

    Java Web服务工具

    schemagen

    相关文章

      网友评论

          本文标题:jdk8升级到11

          本文链接:https://www.haomeiwen.com/subject/fnaysktx.html