如何在 Ubuntu 18.04 上安装最新的 openjdk 12

     2023-04-14     6

关键词:

【中文标题】如何在 Ubuntu 18.04 上安装最新的 openjdk 12【英文标题】:How to install the latest openjdk 12 on Ubuntu 18.04 【发布时间】:2019-09-21 02:10:43 【问题描述】:

我已经通过发出命令安装了默认 jdk:

apt-get install default-jdk

这将安装 openjdk 11 并且 apt-get 似乎将文件安装到所有地方。例子:

/etc/java-11-openjdk/management
/usr/lib/jvm/java-11-openjdk-amd64/lib
/usr/share/doc/openjdk-11-jre-headless/JAVA_HOME
/var/lib/dpkg/info/openjdk-11-jre:amd64.postinst

从上面的示例位置可以看出,文件散落在各处。

我刚刚安装了一个网络应用程序,它发出警告说它只支持 jdk 12(我认为它是最新的 openjdk 版本)。如何安装版本 12 以替换版本 11?在 Ubuntu 18.04 上升级 openjdk 版本以使其不与以前的版本混合的最佳方法是什么?

【问题讨论】:

也许 docker 可以帮助你。试试ubuntu:19.04 图像。 【参考方案1】:

这对我有用:

    使用 wget 下载存档或访问 JDK 12 GA Release 站点并手动下载存档:
wget https://download.java.net/java/GA/jdk12.0.2/e482c34c86bd4bf8b56c0b35558996b9/10/GPL/openjdk-12.0.2_linux-x64_bin.tar.gz
    创建 /usr/java 目录:
sudo mkdir /usr/java
    将存档移至新目录:
mv openjdk-12.0.2_linux-x64_bin.tar.gz /usr/java
    转到此目录:
cd /usr/java
    解压存档:
sudo tar -xzvf openjdk-12.0.2_linux-x64_bin.tar.gz
    设置环境变量,为此打开 /etc/profile 文件:
sudo nano /etc/profile
    并将以下代码添加到该文件的末尾:
JAVA_HOME=/usr/java/jdk-12.0.2
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
export JAVA_HOME
export JRE_HOME
export PATH
    配置Java命令默认使用新的JDK:
sudo update-alternatives --install "/usr/bin/java" "java" "/usr/java/jdk-12.0.2/bin/java" 1
sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/java/jdk-12.0.2/bin/javac" 1
    检查 Java 版本:
java -version

如果您之前安装了另一个 Java 版本并且版本没有更改,请尝试运行以下命令并选择所需的版本:

sudo update-alternatives --config java

【讨论】:

将 JAVA_HOME 添加到 /etc/profile 会束缚我使用 jdk12 吗?如果我想要多个 java 版本并且在我执行 update-alternatives --config java 时会自动设置 java_home 怎么办? 不要导出不切实际的路径,一直使用update-alternatives来切换java,如果你在真正不完美的软件开发世界中,你会很遗憾有不同版本的项目。在这种特殊情况下,12 甚至不是 LTS,因此至少将路径设置为 LTS。 这对我来说破坏了 sdkmanager。 java -version 是 openjdk version "12.0.2" 2019-07-16,但 sdkmanager 抛出 Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema。对此有什么简单的解决方案吗? @MattLarson 我通过用命令行工具替换我的 sdkmanager 安装解决了这个问题:developer.android.com/studio#command-tools 有关如何安装和使用它的示例,请参阅此 dockerfile:github.com/bitrise-io/android/blob/master/Dockerfile【参考方案2】:

来自 Ubuntu 的官方软件包存储库不提供 Openjdk12 软件包,因为 openjdk11 是您的版本的最后一个 openjdk 软件包版本。

【讨论】:

是的,我已经尝试过了。我正在尝试找到安装 openjdk 12 的最佳方法,而不会破坏已经存在的 jdk 11 文件。而且我怀疑我也需要切换到替代方案。 @u84six 你可以将你的 LTS 版本升级到最新的非 lts 版本 19.04 我使用的是 aws EC2,它们不支持 18.04 之后的任何内容。 我认为不幸的是,我必须卸载默认 jdk,然后手动安装 oracle jdk 12。呃。不错的 Linux。 @u84six 你也可以手动安装openjdk openjdk.java.net/install

在 ubuntu 18.04 上安装 opencv 2.4.9

】在ubuntu18.04上安装opencv2.4.9【英文标题】:installingopencv2.4.9onubuntu18.04【发布时间】:2018-06-0310:58:07【问题描述】:我在我的电脑上安装了ubuntu18.04,并且我设法安装了最新版本的opencv。不过,我需要在我的电脑上运行旧版本的op... 查看详情

如何在虚拟机Ubuntu 18.04上安装catkin

】如何在虚拟机Ubuntu18.04上安装catkin【英文标题】:HowtoinstallcatkinonavirtualmachineUbuntu18.04【发布时间】:2019-09-2317:11:48【问题描述】:我觉得我有靛蓝...我按照说明操作:https://wiki.ros.org/catkin#Installing_catkin有人可以帮我解决这个问... 查看详情

在ubuntu18.04上使用静态可执行文件安装dockerce及后续设置(代码片段)

在Ubuntu18.04上使用静态可执行文件安装DockerCE及后续设置前几天安装了最新的Ubuntu18.04LTS,想在上面安装一个docker,结果发现docker官方的软件源里没有Ubuntu18.04的安装包版本,可能是系统太新了,官方还没来得及制... 查看详情

如何在ubuntu18.04上安装docker(代码片段)

选项1:使用默认存储库在Ubuntu上安装Docker第1步:更新软件存储库更新本地软件数据库以确保可以访问最新版本。打开终端并输入:sudoapt-getupdate第2步:卸载旧版本的Docker建议继续之前卸载任何旧的Docker软件。使... 查看详情

ubunut18.04如何安装wine?

...以的,但是不能获取到最新的wine哦!建议以上的操作。如何在ubuntu下安装wine执行后需要输入密码验证,如果您是第一次使用ubuntu,那么输入密码的时候是不会显示任何数据的,你只管按完密码然后按enter回车就可。源添加完成... 查看详情

如何允许节点在 Ubuntu 18.04 上监听 1024 以下的端口?

】如何允许节点在Ubuntu18.04上监听1024以下的端口?【英文标题】:HowcanIallownodetolistentoportsbelow1024onUbuntu18.04?【发布时间】:2019-04-2523:08:49【问题描述】:我可以在安装了nvm的节点中使用任何大于1023的PORT和server.listen(PORT)。非特权... 查看详情

pip

如何在Ubuntu18.04上安装Pip[日期:2018-05-15] 来源:Linux公社作者:醉落红尘 [字体:大中小]Pip是一个软件包管理系统,它简化了用Python编写的软件包(如Python包索引(PyPI)中的软件包)的安装和管理。在Ubuntu18.04上缺省没有安装Pip... 查看详情

pip

如何在Ubuntu18.04上安装Pip[日期:2018-05-15] 来源:Linux公社作者:醉落红尘 [字体:大中小]Pip是一个软件包管理系统,它简化了用Python编写的软件包(如Python包索引(PyPI)中的软件包)的安装和管理。在Ubuntu18.04上缺省没有安装Pip... 查看详情

我无法在 ubuntu 18.04 上安装 mysql

】我无法在ubuntu18.04上安装mysql【英文标题】:Icannotinstallmysqlonubuntu18.04【发布时间】:2020-06-0717:04:45【问题描述】:我正在尝试在我的ubuntu18.04上安装mysql-server,但出现dpkg错误sudoapt-getinstallmysql-server之后的终端输出是正在读取包... 查看详情

如何在 Ubuntu 上安装最新版本的 Mono 和 MonoDevelop?

】如何在Ubuntu上安装最新版本的Mono和MonoDevelop?【英文标题】:HowtoinstallthelatestversionofMonoandMonoDeveloponUbuntu?【发布时间】:2016-03-0413:48:58【问题描述】:我正在尝试在我的系统上安装最新版本的Mono框架和MonoDevelop。昨天我尝试在... 查看详情

在 ubuntu 18.04 中更改 python 的默认版本

...题描述】:我刚刚安装了ubuntu18.04,我真的不知道一切是如何工作的。我在我的Windows系统(3.8.1)中使用了最新版本的python,并且想在ubuntu中使用该版本,但python的“预安装”版本是2.7。有没有办法卸载 查看详情

在 Ubuntu 18.04 LTS 上安装特定版本的 Ansible (2.3.1.0)

】在Ubuntu18.04LTS上安装特定版本的Ansible(2.3.1.0)【英文标题】:InstallspecificversionofAnsible(2.3.1.0)onUbuntu18.04LTS【发布时间】:2018-11-0509:46:36【问题描述】:我想在Ubuntu18.04上安装Ansible2.3.1.0。当我运行apt-getinstallansible时,它会安装2.5.3... 查看详情

在 Ubuntu 18.04 WSL 上安装无人值守的 MySQL 8 社区

】在Ubuntu18.04WSL上安装无人值守的MySQL8社区【英文标题】:UnatttendedMySQL8communityinstallonUbuntu18.04WSL【发布时间】:2019-11-1723:43:49【问题描述】:我正在尝试在没有任何提示的情况下在Ubuntu(即Linux的Windows子系统)上安装MySQL8。我有... 查看详情

在ubuntu18.04上使用静态可执行文件安装dockerce及后续设置(代码片段)

在Ubuntu18.04上使用静态可执行文件安装DockerCE及后续设置前几天安装了最新的Ubuntu18.04LTS,想在上面安装一个docker,结果发现docker官方的软件源里没有Ubuntu18.04的安装包版本,可能是系统太新了,官方还没来得及制... 查看详情

在ubuntu18.04上使用静态可执行文件安装dockerce及后续设置(代码片段)

在Ubuntu18.04上使用静态可执行文件安装DockerCE及后续设置前几天安装了最新的Ubuntu18.04LTS,想在上面安装一个docker,结果发现docker官方的软件源里没有Ubuntu18.04的安装包版本,可能是系统太新了,官方还没来得及制... 查看详情

在 ubuntu 18.04 上安装 oracle 18cxe 的问题

】在ubuntu18.04上安装oracle18cxe的问题【英文标题】:Issueininstallingoracle18cxeonubuntu18.04【发布时间】:2019-05-0322:43:27【问题描述】:我正在尝试配置OracleXE,但遇到以下问题:root@venky-Lenovo-G510:~#/etc/init.d/oracle-xe-18c配置/bin/df:无法识别... 查看详情

在 Ubuntu 18.04 上安装 RVM 时出错

】在Ubuntu18.04上安装RVM时出错【英文标题】:ErrorwhileinstallingRVMonUbuntu18.04【发布时间】:2018-12-2723:54:54【问题描述】:我尝试在新版本的Ubuntu18.04上安装RVM。但是我收到以下错误:"Errorrunning\'requirements_debian_libs_installgawkg++gccautoconf... 查看详情

如何修复 Ubuntu 18.04 上没有声音?

】如何修复Ubuntu18.04上没有声音?【英文标题】:HowtofixNosoundonUbuntu18.04?【发布时间】:2020-05-0619:08:42【问题描述】:1)几个月来,我一直在使用带有Windows10双启动的Ubuntu18.04。今天突然我的声音停止在Ubunutu上工作。活动->声音... 查看详情