Ubuntu18.04安装Java
介绍
Java和JVM(Java的虚拟机)是许多软件所必需的,包括Tomcat,Jetty,Glassfish,Cassandra和Jenkins。
在本教程中,您将使用apt安装各种版本的Java Runtime Environment(JRE)和Java Developer Kit(JDK)。您将安装OpenJDK以及Oracle的官方软件包。然后,您将选择要用于项目的版本。完成后,您将能够使用JDK开发软件或使用Java Runtime运行软件。
准备
一台Ubuntu 18.04 的服务器,一个可以使用sudo命令的非root账户
安装默认JRE / JDK
安装Java的最简单方法是使用与Ubuntu一起打包的版本。默认情况下,Ubuntu 18.04包含Open JDK,它是JRE和JDK的开源变体。
该软件包将安装OpenJDK 10或11。
- 在2018年9月之前,这将安装OpenJDK 10。
- 2018年9月之后,这将安装OpenJDK 11。
要安装此版本,请先更新本地软件包:
sudo apt update
检查是否安装java
java -version
如果没有安装,执行下面命令安装openJDK:
apt install default-jre
此命令将安装java运行时环境(JRE),这将允许您运行几乎所有java软件。
安装完成之后, 验证java是否安装成功
java -version openjdk version "10.0.1" 2018-04-17
OpenJDK Runtime Environment (build 10.0.1+10-Ubuntu-3ubuntu1)
OpenJDK 64-Bit Server VM (build 10.0.1+10-Ubuntu-3ubuntu1, mixed mode)
除了JRE外, 还需要安装java Development Development(JDK)才能编译和运行某些特定的基于java的软件, 执行命令安装:
apt install default-jdk
检查java编译器的javac版本,验证是否安装了JDK:
javac -version javac 10.0.1
安装OpenJDK特定版本:
虽然您可以安装默认的OpenJDK软件包,但您也可以安装不同版本的OpenJDK。
OpenJDK 8
Java 8是当前的长期支持版本,并且仍然受到广泛支持,但公共维护在2019年1月结束。要安装OpenJDK 8,请执行以下命令:
apt install openjdk-8-jdk 验证是否已安装
java -version
也可以只安装JRE,您可以通过执行sudo apt install openjdk-8-jre来完成。
OpenJDK 10/11
Ubuntu的存储库包含一个将安装Java 10或11的软件包。在2018年9月之前,该软件包将安装OpenJDK 10.一旦发布了Java 11,该软件包将安装Java 11。
要安装OpenJDK 10/11,请执行以下命令:
apt install openjdk-11-jdk 要仅安装JRE,请使用以下命令:
sudo apt install openjdk-11-jre
接下来,我们来看看如何安装Oracle的官方JDK和JRE。
安装Oracle JDK
如果要安装Oracle JDK(Oracle分发的正式版),则需要为要使用的版本添加新的软件包存储库。
要安装Java 8(最新的LTS版本),首先要添加其软件包存储库:
sudo add-apt-repository ppa:webupd8team/java
添加存储库时,您将看到如下消息:
Oracle Java (JDK) Installer (automatically downloads and installs Oracle JDK8). There are no actual Jav
a files in this PPA. Important -> Why Oracle Java 7 And 6 Installers No Longer Work: http://www.webupd8.org/2017/06/why-oracl
e-java-7-and-6-installers-no.html Update: Oracle Java 9 has reached end of life: http://www.oracle.com/technetwork/java/javase/downloads/j
dk9-downloads-3848520.html The PPA supports Ubuntu 18.04, 17.10, 16.04, 14.04 and 12.04. More info (and Ubuntu installation instructions):
- for Oracle Java 8: http://www.webupd8.org/2012/09/install-oracle-java-8-in-ubuntu-via-ppa.html Debian installation instructions:
- Oracle Java 8: http://www.webupd8.org/2014/03/how-to-install-oracle-java-8-in-debian.html For Oracle Java 10, see a different PPA: https://www.linuxuprising.com/2018/04/install-oracle-java-10-in-ubuntu-or.html More info: https://launchpad.net/~webupd8team/+archive/ubuntu/java
Press [ENTER] to continue or Ctrl-c to cancel adding it.
按ENTER继续。然后更新您的软件包列表:
sudo apt update 包列表更新后,安装Java 8:
sudo apt install oracle-java8-installer
您的系统将从Oracle下载JDK并要求您接受许可协议。接受协议,JDK将安装。
现在让我们看看如何选择要使用的Java版本。
管理Java
您可以在一台服务器上安装多个Java。您可以使用update-alternatives命令,配置在命令行上使用的默认版本。
sudo update-alternatives --config java
选择与Java版本关联的编号以将其作为默认编号,或按ENTER以保留当前设置。
您可以对其他Java命令执行此操作,例如compiler(javac):
sudo update-alternatives --config javac
指此命令可以运行其它命令包括,但不限于:keytool,javadoc和jarsigner。
设置JAVA_HOME环境变量
许多使用Java编写的程序使用JAVA_HOME环境变量来确定Java安装位置。
要设置此环境变量,请首先确定Java的安装位置。使用update-alternatives命令
sudo update-alternatives --config java
此命令显示Java的每个安装及其安装路径:
There are 3 choices for the alternative java (providing /usr/bin/java). Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1101 auto mode
1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1101 manual mode
2 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1081 manual mode
3 /usr/lib/jvm/java-8-oracle/jre/bin/java 1081 manual mode Press <enter> to keep the current choice[*], or type selection number:
在这种情况下,安装路径如下:
- OpenJDK 11位于
/usr/lib/jvm/java-11-openjdk-amd64/bin/java. - OpenJDK 8位于
/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java。 - Oracle Java 8位于
/usr/lib/jvm/java-8-oracle/jre/bin/java。
从您想要的安装中复制路径。然后使用nano或您喜欢的文本编辑器打开/etc/environment:
sudo nano /etc/environment
在此文件的末尾,添加以下行,确保使用您自己复制的路径替换突出显示的路径:
/etc/environment
修改此文件将为系统上的所有用户设置JAVA_HOME路径。
保存文件并退出编辑器。
现在重新加载此文件:
source /etc/environment
验证是否已设置环境变量:
echo $JAVA_HOME 您将看到刚刚设置的路径:
/usr/lib/jvm/java-11-openjdk-amd64/bin/java
其他用户需要执行命令source /etc/environment或注销并重新登录才能应用此设置。
结论
在本教程中,您安装了多个Java版本,并学习了如何管理它们。您现在可以安装在Java上运行的软件,例如Tomcat,Jetty,Glassfish,Cassandra或Jenkins
Ubuntu18.04安装Java的更多相关文章
- Ubuntu18.04安装和配置Java JDK11并卸载自带OpenJDK
卸载自带的OpenJDK方法: 在终端执行命令:sudo apt-get remove openjdk* Ubuntu18.04安装JDK11.0.2 前面步骤一样,可参考:https://www.c ...
- ubuntu18.04 安装hadoop 2.7.3+hive 2.3.4
1. 安装hadoop 详细请参见本人的另外一片博文<Hadoop 2.7.3 分布式集群安装> 2. 下载hive 2.3.4 解压文件到/opt/software -bin.tar.g ...
- Ubuntu18.04安装mysql5.7
Ubuntu18.04安装mysql5.7 1.1安装 首先执行下面三条命令: # 安装mysql服务 sudo apt-get install mysql-server # 安装客户端 sudo a ...
- Ubuntu18.04安装RabbitMQ
Ubuntu18.04安装RabbitMQ 2018年06月10日 19:32:38 dmfrm 阅读数:2492 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog ...
- ubuntu18.04 安装mysql不出现设置 root 帐户的密码问题(装)
ubuntu18.04 安装mysql不出现设置 root 帐户的密码问题 https://blog.csdn.net/NeptuneClouds/article/details/80995 ...
- Ubuntu18.04安装Virtualenv虚拟环境
在Ubuntu18.04安装Virtualenv虚拟环境 [实验环境]: 在这台电脑上已经安装了python3 [安装参考] 1.查看是否已安装virtualenv virtualenv --vers ...
- Ubuntu18.04安装thunderbird并设置中文
Ubuntu18.04安装thunderbird并设置中文 安装thunderbird sudo apt-get install thunderbird 安装中文包 sudo apt-get inst ...
- Ubuntu18.04安装Docker, centos7安装Docker
Ubuntu18.04安装Docker 第一种方法从Ubuntu的仓库直接下载安装: 安装比较简单,这种安装的Docker不是最新版本,不过对于学习够用了,依次执行下面命令进行安装. $ sudo a ...
- Ubuntu18.04 安装 oh-my-zsh
目录 Ubuntu18.04 安装 oh-my-zsh 目录 安装zsh 安装curl 安装oh-my-zsh 使用zsh替换bash 修改终端主题和配色 修改终端配置 隐藏用户和主机名 效果图 Ub ...
- Ubuntu18.04 安装MySQL(Linux)解决登陆权限问题及Navicat for mysql 中文乱码问题
一.MySQL(Linux)解决登陆权限问题 Ubuntu18.04 安装mysql或者mariadb之后,发现普通用户和远程都没有权限连接. ERROR 1045: Access denied fo ...
随机推荐
- SimCLR: 一种视觉表征对比学习的简单框架《A Simple Framework for Contrastive Learning of Visual Representations》(对比学习、数据增强算子组合,二次增强、投影头、实验细节很nice),好文章,值得反复看
现在是2024年5月18日,好久没好好地看论文了,最近在学在写代码+各种乱七八糟的事情,感觉要和学术前沿脱轨了(虽然本身也没在轨道上,太菜了),今天把师兄推荐的一个框架的论文看看(视觉CV领域的). ...
- TypeScript – tsconfig
前言 上一篇 TypeScript – Get Started 使用了命令 tsc index.ts --module es2015 很少人会在命令时给写 config, 更正规的做法是创建一个 ts ...
- MySQL 大表拆分
概述 在实际工作中,在关系数据库(MySQL.PostgreSQL)的单表数据量上亿后,往往会出现查询和分析变慢甚至无法执行统计分析的情况.这时就需要将大表拆分为多个小表,将小表分布在多个数据库上,形 ...
- C++中对象的延迟构造
本文并不讨论"延迟初始化"或者是"懒加载的单例"那样的东西,本文要讨论的是分配某一类型所需的空间后不对类型进行构造(即对象的lifetime没有开始),更通俗点 ...
- BOOST库array使用 类似std库的vector
BOOST库的array, 类似std库的vector. 下图所示书籍的下载地址,我的另一篇博客内有记载: https://www.cnblogs.com/happybirthdaytoyou/p/ ...
- 在 ArkTS 中,如何有效地进行内存管理和避免内存泄漏?
ArkTS 是鸿蒙生态的应用开发语言,它在 TypeScript 的基础上进行了优化和定制,以适应鸿蒙系统的需求. 以下是在 ArkTS 中进行有效的内存管理和避免内存泄漏: 1. 使用 const ...
- 禁用QQ自动升级(实测可用)
事件起因: 某客户电脑QQ从怀旧版(9.7)自动升级到NT版本(9.9)版本,新版本由于消息通知功能不能直接查看,老版本右下角消息闪烁,鼠标放上去便可以看到有几个联系人的消息,因此客户强烈要求版本回退 ...
- C# 如何理解装箱和拆箱 ?
装箱和拆箱就是C# 中数据类型的转换 : 装箱:值类型转换对象类型(引用类型,复杂类型) 拆箱:对象类型转换值类型 object obj=null; //引用类型 obj=1; //装箱 boxing ...
- 18 Transformer 的动态流程
博客配套视频链接: https://space.bilibili.com/383551518?spm_id_from=333.1007.0.0 b 站直接看 配套 github 链接:https:// ...
- KubeSphere 对 Apache Log4j 2 远程代码执行最新漏洞的修复方案
Apache Log4j 2 是一款开源的日志记录工具,被广泛应用于各类框架中.近期,Apache Log4j 2 被爆出存在漏洞,漏洞现已公开,本文为 KubeSphere 用户提供建议的修复方案. ...