从openJDK 8升级到openJDK 11

问题描述

我在ubuntu 18.04系统中安装了JDK 8,现在我想使用this将其升级到JDK 11。我只想知道这是否会造成任何问题。升级时会删除旧版本吗(实际上我希望自己删除旧版本)?

解决方法

执行此操作以在Ubuntu上卸载先前版本的openJDK

sudo apt-get remove openjdk

要删除所有配置文件和依赖项。

sudo apt-get purge --auto-remove openjdk*

然后安装openJDK 11

sudo apt-get install openjdk-11-jdk
,

通常,升级将允许运行为Java 8编译的代码;但是,有一些警告。

包含项目JigSaw意味着“到达”方法的访问规则已稍有更改。它们在Java 8和Java 11之间几乎兼容。差异将在以下时间显示:

  1. 您尝试使用com.sun。*软件包之一(或任何其他非公共api入口点)。
  2. 您尝试在非公共API入口点上使用反射。
  3. 您更改启动以使用模块,这将禁用Java 8“默认”模块处理。

简而言之,这几乎是一个简单的升级。当代码正在执行不应做的事情时,或者当您的代码不是为模块设计的,而您的某些运行时代码是为模块设计的时,这些问题就会发挥作用。

如果您可以访问源代码,则可以通过添加模块规范来解决很多问题。但是,这可能需要您了解模块化(这很容易,但是仍然是一个障碍)。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...