Linux——安装JDK和OpenJDK【多种方法】

news2024/11/20 20:27:13

目录

一、Linux安装OpenJDK

1、查看系统是否有自带的版本

2、删除OpenJDK

3、本地下载OpenJDK

4、无法本地下载,也可以使用命令下载(方法1)

4、无法本地下载,也可以使用命令下载(方法2)

5、拓展 

三、Linux安装JDK

1、查看系统是否有自带的版本,并删除

2、去官网下载对应的安装包,然后上传到服务器

3、将我们下载好的JDK安装包上传到服务器,进行解压

4、修改环境变量

5、应用修改后的环境变量

6、软链接程序到环境变量中

7、测试是否安装正常

四、其他版本(Windows、MacOS)安装

1、MacOS安装JDK

2、Windows安装JDK

2.1、使用IDEA的集成JDK

2.2、去官网下载JDK


一、Linux安装OpenJDK

1、查看系统是否有自带的版本

因为有的linux系统自带的OpenJDK,

我们可以先查看一下是否自带,可执行以下命令。

java -version

如果有的话,并且版本满足使用条件,那就无需安装了

但是版本不是我们需要的,那就需要删除

2、删除OpenJDK

# 1、检测jdk的安装包
rpm -qa | grep java 

# 2、将包一个个删除掉
rpm -e --nodeps +包名

# 3、检查是否删除完即可
rpm -qa | grep java

3、本地下载OpenJDK

清华大学开源镜像站:https://url.zeruns.tech/Tuna_JDK

找到自己需要的版本,然后下载到本地,使用远程传输工具进行上传到服务器

推荐传输到/usr/local/java/下,一会我们方便配置环境变量

windows建议.msi的安装包,直接下载安装就好,它会自动配置环境变量。

Linux的选择.tar.gz的包,下面教程会教你怎么配置环境变量

  

4、无法本地下载,也可以使用命令下载(方法1)

# 1、安装wget
yum install -y wget 

# 2、创建安装目录
mkdir /usr/local/java/

# 3、下载JDK安装包,将地址替换成你要安装的版本的下载地址,或者你从自己电脑上传到服务器也行。
wget https://mirrors.tuna.tsinghua.edu.cn/AdoptOpenJDK/16/jdk/x64/linux/OpenJDK16U-jdk_x64_linux_hotspot_16.0.2_7.tar.gz

# 解压当前目录下的JDK压缩文件到安装目录,将下面压缩包名字替换成你下载的
tar -zxvf OpenJDK16U-jdk_x64_linux_hotspot_16.0.2_7.tar.gz -C /usr/local/java/

# 进入/usr/local/java/目录
cd /usr/local/java/

# 列出目录内的文件夹,看看刚刚解压出来的JDK目录名称是什么,我这里是 jdk-16.0.2+7
ls

# 设置环境变量(安装 nano 输入 apt -y install nano),如果是Centos/Redhat系统就将apt替换为yum
nano /etc/profile
# 在末尾添加对应变量,记得将下面的jdk-16.0.2+7改成你上面查到的你JDK文件夹名
# 通过方向键移动光标到末尾
# 输入下面这几串内容后,按Ctrl+O来保存,然后按一下回车确定,接着按Ctrl+X退出。

export JAVA_HOME=/usr/local/java/jdk-16.0.2+7
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

# 应用修改后的环境变量
source /etc/profile

# 软链接程序到环境变量中,记得将下面的jdk-16.0.2+7改成你上面查到的你JDK文件夹名
ln -sf /usr/local/java/jdk-16.0.2+7/bin/java /usr/bin/java

# 测试是否安装正常,显示 java version "1.8.0_261" 则为正常
java -version

4、无法本地下载,也可以使用命令下载(方法2)

# 下载wget
yum install -y wget

# 下载vim
yum install -y vim
# 查看可安装的openjdk包
yum list java* | grep java-1.8.0-openjdk

 可以查看自己需要的版本,然后找到x86_64的版本

# 下载自己需要的openJDK版本
yum install java-1.8.0-openjdk.x86_64
# 下载完成后,查看版本,是否对应
java -version

5、拓展 

Ubuntu或Debian系统:

下载对应版本deb包

方法1:先下载到自己电脑上,再通过sftp上传到你的Linux服务器上

方法2:直接用wget命令下载

JDK17的x64的deb包下载地址:https://mirrors.tuna.tsinghua.edu.cn/Adoptium/deb/pool/main/t/temurin-17/temurin-17-jdk_1​​​​​​7.0.1.0.0%2B12-1_amd64.deb

Centos或Redhat系统:

如果是则将下面的dpkg命令替换为rpm,安装包也要换成rpm的。

注意:如果是非root用户登陆的,自己在每条命令前加上sudo。

# 通过wget下载安装包,若报错运行一下sudo apt install wget
wget https://mirrors.tuna.tsinghua.edu.cn/Adoptium/deb/pool/main/t/temurin-17/temurin-17-jdk_17.0.1.0.0%2B12-1_amd64.deb

# 安装JDK,如果报错,可能是依赖问题,运行这条命令修改依赖:sudo apt-get -f -y install
dpkg -i temurin-17-jdk_17.0.1.0.0+12-1_amd64.deb

# 验证java安装成功没
java -version

三、Linux安装JDK

1、查看系统是否有自带的版本,并删除

这里就不赘述了,请回看1.1节 

2、去官网下载对应的安装包,然后上传到服务器

官网地址:Java Downloads | Oracle

3、将我们下载好的JDK安装包上传到服务器,进行解压

cd /usr/java
tar -zxvf jdk-8u131-linux-x64.tar.gz

4、修改环境变量

# 1、用vim编辑器来编辑profile文件(按“i”进入编辑)
vim /etc/profile

# 2、在文件末尾添加以下内容

export JAVA_HOME=/usr/java/jdk1.8.0_131
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

5、应用修改后的环境变量

source /etc/profile

6、软链接程序到环境变量中

# 记得将下面的jdk1.8.0_131改成你上面查到的你JDK文件夹名 
ln -sf /usr/local/java/jdk-16.0.2+7/bin/java /usr/bin/java

7、测试是否安装正常

 java version 

如果是:"1.8.0_261" ,则为正常 java -version 

四、其他版本(Windows、MacOS)安装

1、MacOS安装JDK

苹果M1安装JDK环境 - 青山小站 | 一个在帝都搬砖的新时代农民工https://blog.yanqingshan.com/99.html

2、Windows安装JDK

2.1、使用IDEA的集成JDK

打开IDEA,点击:Project Structure

 下载版本

  版本下载的路径可以自动修改(路径上最好不要有中文字符)

2.2、去官网下载JDK

首先下载你要装的JDK版本的Windows版ZIP包

下面以JDK17为例,下载地址:https://mirrors.tuna.tsinghua.edu.cn/Adoptium/17/jdk/x64/windows/OpenJDK17U-jdk_x64_windows_hotspot_17.0.3_7.zip

下载之后解压,解压后的路径最好不要用中文字符

 编辑环境变量

 新建→变量名输入 JAVA_HOME →变量值输入你上面复制的JDK目录

  打开Path→新建→输入→确定

# 输入内容
%JAVA_HOME%\bin

 打开cmd,查看Java版本(是否安装成功)

# 输入命令 
java -version

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/194295.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

3-3-多线程-TheadLocal内存泄漏

Java TheadLocal内存泄漏 1、引言 组内来了一个实习生,看这小伙子春光满面、精神抖擞、头发微少,我心头一喜:绝对是个潜力股。为了帮助小伙子快速成长,我给他分了一个需求,这不需求刚上线几天就出网上问题了&#x1…

C++ 树进阶系列之线段树和它的延迟更新

1. 前言 线段树和树状数组有相似之处,可以用于解决区间类型的问题。 但两者又各个千秋,树状数组本质是数组,有着树的形,可以借用树的一些概念。线段树是典型的二叉树结构,无论神和形都是树,可以应用树的所…

用 Python 的 tkinter 模块编写一个好看又强大的中国象棋

继上次我的第一版的《中国象棋》程序之后,我又编写了第二版的《中国象棋》程序,关注我的粉丝知道,我在第一篇《中国象棋》的文章末尾说了,我会出第二版的,对第一版感兴趣的朋友们,可以去看看,也…

VueJS 之样式冲突与样式穿透

文章目录参考描述样式冲突现象scoped原理样式穿透深度选择器使用原理顶层元素局限性参考 项目描述搜索引擎Bing哔哩哔哩黑马程序员 描述 项目描述Edge109.0.1518.70 (正式版本) (64 位)操作系统Windows 10 专业版vue/cli5.0.8npm8.19.3VueJS2.6.14 样式冲突 在使用 Vue 进行…

大文件上传/下载

一、前言 大文件上传下载一直以来是前端常用且常考的热门话题。本文将分别介绍大文件上传/下载的思路和前端实现代码。 二、分片上传 整体流程 对文件做切片,选择文件后,对获取到的file对象使用slice方法可以将其按照制定的大小进行切片,…

使用matplotlib,pylab进行python绘图

一提到python绘图,matplotlib是不得不提的python最著名的绘图库,它里面包含了类似matlab的一整套绘图的API。因此,作为想要学习python绘图的童鞋们就得在自己的python环境中安装matplotlib库了,安装方式这里就不多讲,方…

openmmlab学习打卡1

openmmlab学习打卡1通用视觉框架 OpenMMLab通过 conda 安装通用视觉框架 OpenMMLab 基于pytorch实现 其中: 分类算法在 mmclassification 模块下 目标检测在 mmdetection 模块下 分割模型在 mmsegmentation 模块下(openmmlab 2.0 版本中加入&#xff09…

洛谷P1885 Moo —— 搜索

This way 题意: 奶牛 Bessie 最近在学习字符串操作,它用如下的规则逐一的构造出新的字符串: S(0)S(0) S(0) moo S(1)S(0)S(1) S(0) S(1)S(0) m ooo S(0) S(0) S(0) moo m ooo moo moomooomoo S(2)S(1)S(2) S(1) S(2)S(1) m oooo S(…

无js实现拖拽边框改变大小的笔记

前言 最近刷抖音看到一款游戏"拣爱",看到这个人手动拖动的很有意思,就想着能不能前端实现,来学习学习,虽然说最终的效果没有gif图片那么好,但是也算实现了,吧… 具体原理 利用resize属性所出现的小拖拽条 再配合::-webkit-scrollbar设置拖拽区域宽度,高度,结合opac…

手动签发证书配置nginx

openssl和ssh基本用法 通过OpenSSL工具生成证书 创建私钥 openssl genrsa -des3 -out server.key 2048 注意,centos版本如果是CentOS Linux release 8.0.1905 (Core)版本,私钥长度不能设置成1024位,必须2048位。不然再最后启动nginx时会出…

java之数组模块

数组定义格式1.1数组概述一次性声明大量的用于存储数据的变量要存储的数据通常都是同类型数据,例如:考试成绩1.2什么是数组数组(array)是一种用于存储多个相同类型数据的存储模型1.3数组的定义格式格式一:数据类型[] 变量名范例: …

h5实现相机

什么是取景器 取景器是什么?取景器是相机的一个专业术语,在前端就是扫描拍照 取景器的实现原理 请求手机的一个媒体类型的视频轨道,利用一个div或者图片作为上层蒙层,然后在利用canvas绘制视频中某一帧的画面绘制为图片。 前期…

HTML基础知识

一个网站由两部分组成:前端和后端。前端主流语言目前是HTML、CSS、JS等。HTML只是描述了页面的内容(骨架),CSS才是描述了页面的样式。HTML结构HTML标签HTML代码是由“标签”构成的,HTML描述了页面上有什么东西&#xf…

数字化转型导师坚鹏:银行数字化转型为什么需要融合王阳明心学

在BLM银行数字化转型方法论中,我之所以融合BLM模型与王阳明心学,作为一个工科背景并拥有多年软硬件产品研发经验的人来说,深刻地知道很多人利用了科技的力量做了大量的恶事,而不是善事,如黑客大量盗取、泄漏、贩卖客户…

ESLint 的一些理解

ESLint ESLint 是在 ECMAScript/JavaScript 代码中识别和报告模式匹配的工具,它的目标是保证代码的一致性和避免错误。 为什么要使用ESLint 有的可以帮我们避免错误;有的可以帮我们写出最佳实践的代码;有的可以帮我们规范变量的使用方式&a…

Docker入门之使用Dockerfile 构建镜像(七)

文章目录1. 前言2. Docker file 核心要点2.1 注意事项2.2 Docker file 执行流程2.3 Docker Image、Docker file、Docker Container区别2.4 Dockerfile常用保留字指令2.4.1 FROM2.4.2 MAINTAINER2.4.3 RUN2.4.4 EXPOSE2.4.5 WORKDIR2.4.6 USER2.4.7 ENV2.4.8 ADD2.4.9 COPY2.4.1…

ansible 简单使用

运行过程 1.加载自己的配置文件,默认/etc/ansible/ansible.cfg; 2.查找对应的主机配置文件,找到要执行的主机或者组; 3.加载自己对应的模块文件,如 command; 4.通过ansible将模块或命令生成对应的临时py文…

OpenMMLab 实战营打卡 - 第 一 课

OpenMMLab 实战营打卡 - 第 一 课 复习下总忘的基础知识 卷积的通道数变化 前一层特征纬度(通道数)决定核的通道数 当前层输出的特征纬度,由核的数量决定 图像尺寸变化 padding 公式:H′H−K12pH^{\prime}H-K12 pH′H−K12p…

电源技术中的安森美 单通道电压电平转换器件FXLP34P5X 适合便携式应用方案

电源技术中的安森美 单通道电压电平转换器件FXLP34P5X 适合便携式应用方案 :输入转换器电源电压为VCC1,输出转换器电源电压为VCC。 该器件使用1.0V至3.6V的VCC值运行,主要用于要求超低功耗的便携式应用。内部电路由最小量的缓冲器级组成&…

普通大学生自学 JAVA 怎样才能进大厂?

前言 可以看一下现在大厂对于Java方面的要求 阿里 百度 腾讯 从上面可以看出,无论是阿里、百度亦或是腾讯对于Java方面的要求是比较高的,可以说要求的是一个全面,所以想要进入大厂,不能操之过急,需要先从基础做起&am…