【Linux】更换jdk版本

目录

  • 一、前言
  • 二、查看jdk版本号
    • 1、项目中的版本号(pom.xml)
    • 2、服务器中的版本号
  • 三、更换jdk版本
    • 1、创建java文件夹
    • 2、下载并解压JDK安装包
      • ①、下载jdk安装包
      • ②、移动到创建好的/usr/local/java路径下
      • ③、解压jdk安装包
  • 四、删除原来的jdk版本
    • 1、删除原来的jdk版本
    • 2、进入profile文件
    • 3、添加环境变量
    • 4、重新加载profile文件
  • 五、查看jdk版本
  • 六、更换jdk版本后,linux命令失效(踩坑记录)
    • 1、出现命令失效的原因
    • 2、临时解决方法
    • 3、最终解决方法

一、前言

当我们创建好服务器后,需要将项目部署至服务器上,这时,我们应考虑服务器的jdk版本号和项目中使用的jdk版本号是否一致。若不一致,就需要更改服务器中的jdk版本号

二、查看jdk版本号

1、项目中的版本号(pom.xml)

可以看的出,项目中使用的jdk版本是11
在这里插入图片描述

2、服务器中的版本号

#查看jdk版本号
java -version

在这里插入图片描述
项目中的jdk版本和服务器中的jdk版本是不一致的,所以我们需要更换服务器中的jdk版本

三、更换jdk版本

1、创建java文件夹

#创建Java文件夹
mkdir /usr/local/java#切换至/usr/local路径下,进行查看创建好的java文件夹
cd /usr/local
ls

在这里插入图片描述

2、下载并解压JDK安装包

①、下载jdk安装包

在这里插入图片描述

把下载到本地的jdk安装包上传到服务器中,一般是存在/tmp/路径下的

在这里插入图片描述

②、移动到创建好的/usr/local/java路径下

#移动到创建好的/usr/local/java路径下
mv jdk-11.0.19_linux-x64_bin.tar.gz /usr/local/java#切换路径
cd /usr/local/java

在这里插入图片描述

③、解压jdk安装包

#对jdk进行解压
tar -zxvf jdk-11.0.19_linux-x64_bin.tar.gz#查看解压好的jdk
ls

在这里插入图片描述

四、删除原来的jdk版本

1、删除原来的jdk版本

rm -f /usr/bin/java rm -f /usr/bin/javacrm -f /etc/alternatives/javarm -f /etc/alternatives/javac

在这里插入图片描述

2、进入profile文件

#切换到根目录
cd ~#进入到/etc路径下
cd /etc/	#编辑profile文件
vi profile

在这里插入图片描述

3、添加环境变量

进入profile文件后,输入i进行编辑,把以下环境变量放置最下方,然后按ESC退出编辑,输入:wq保存退出

# jdk environment
#JAVA_HOME是安装jdk的路径
JAVA_HOME=/usr/local/java/jdk-11.0.19
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH

在这里插入图片描述

4、重新加载profile文件

#重新加载profile文件
source /etc/profile

在这里插入图片描述

五、查看jdk版本

#查看jdk版本
java -version

在这里插入图片描述
这时,我们可以看到,服务器中的jdk版本更换成了11。

六、更换jdk版本后,linux命令失效(踩坑记录)

1、出现命令失效的原因

我在/etc/profile文件中配置的环境变量如下:
在这里插入图片描述
一开始我更换完jdk版本后,输入其他命令还是有效的。当我重启服务器或者重新打开一个服务器的窗口时,再次输入命令,这时,命令失效并提示: command not found
在这里插入图片描述

2、临时解决方法

执行一下以下命令就能输入linux命令了,但是只是暂时有效。

export PATH=/usr/bin:/usr/sbin:/bin:/sbin:/usr/X11R6/bin

在这里插入图片描述

3、最终解决方法

在网上又找了其他方法,发现网上提供的配置环境变量的内容和我配置的环境变量的内容有所差异:

PATH= J A V A H O M E / b i n 这一行中,应该将 J A V A H O M E / b i n 放在 P A T H 之前,确保先搜索 J D K 的 b i n 目录。正确的写法是: P A T H = J A V A H O M E / b i n : JAVA_HOME/bin这一行中,应该将JAVA_HOME/bin放在PATH之前,确保先搜索JDK的bin目录。正确的写法是: PATH=JAVA_HOME/bin: JAVAHOME/bin这一行中,应该将JAVAHOME/bin放在PATH之前,确保先搜索JDKbin目录。正确的写法是:PATH=JAVAHOME/bin:PATH

而我写的配置环境变量是没有添加:$PATH的,所以导致了命令失效的问题。
在这里插入图片描述

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

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

相关文章

企业知识文档管理+群晖nas安全云存储

企业知识管理系统,利用软件系统或其他工具的企业管理方法,利用软件系统或其他工具,对组织中大量的有价值的方案、策划、成果、经验等知识进行分类存储和管理,积累知识资产避免流失,促进知识的学习、共享、培训、再利用…

CPU Architecture Methodologies

MMU MMU(Memory Management Unit) 负责将逻辑地址转化为物理地址对于现代处理器来说,一般每个core都有自己的 MMU页表等数据结构保存在 TLB NUMA Non-uniform memory access (NUMA) is a computer memory design used in multiprocessing, where the memory access…

探索大型语言模型的开源人工智能基础设施:北京开源AI Meetup回顾

原文参见Explore open source AI Infra for Large Language Models: Highlights from the Open Source AI Meetup Beijing | Cloud Native Computing Foundation 背景介绍: 最近,在 ChatGPT 的成功推动下,大型语言模型及其应用程序的流行度激…

CHI中的error处理

Error Handling Error types 包含两种sub-packet级别的error, 和两种packe级别的error; Packet level error Data Error, DERR □ 访问的地址是正确的,但是访问的数据有错误;通常是在数据崩溃的时候使用,例如ECC&#xf…

JSON对象

目录 简介 创建对象 ​编辑json对象作为属性值 json用于交换数据 简介 json:javascript object notation(js标记对象)是一种轻量化的数据交换模式,特点:体积小,数据量大 在js中,json是以对象的形式存在的&#x…

51单片机学习--按键控制流水灯模式定时器时钟

TMOD负责确定T0和T1的工作模式,TCON控制T0和T1的启动或停止计数,同时包含定时器状态 TF1:定时器1溢出标志 TF0:定时器0溢出标志 0~65535 每隔1微秒计数器1,总时间65535微秒,赋上初值64535,则只…

使用 NVM(Node Version Manager)管理 Node.js 版本

使用 NVM(Node Version Manager)管理 Node.js 版本 步骤一:安装 NVM NVM 是一个用于安装和管理不同版本的 Node.js 的工具。首先,你需要确保你的系统上已经安装了 NVM。可以通过以下命令检查 NVM 是否已经安装: nvm …

红队打靶:FourAndSix2.01打靶思路详解(vulnhub)

目录 写在开头 第一步:主机发现与端口扫描 第二步:NFS渗透 第三步:7z压缩包的密码破解 第四步:ssh私钥登录 第五步:lessvi提权 总结与思考 写在开头 本篇博客根据大佬红队笔记的视频进行打靶,详述了…

黑马头条---day1

手机端查看 docker 容器,镜像操作命令 1、docker删除所有镜像命令 删除所有镜像的命令是Docker中一个非常常见的操作。下面是具体的实现步骤和命令示例: $ docker stop $(docker ps -aq) 停止所有正在运行的容器。 $ docker rm $(docker ps -aq) 删…

selenium的java方式打开IE浏览器

1.下载软件Selenium Driver 官方下载地址: ​ https://www.selenium.dev/downloads/解压selenium-java-3.141.59.zip文件到java项目 seleniumDemo,并降解压的文件放入依赖中(1)双击项目的src打开项目结构,或右键-打开…

python将多张图片拼成一张矩阵图,合成一张大图

用Python实现将多张图片排列成n*m的图像矩阵图 目录 引言环境准备代码实现效果演示总结 引言 在图像处理和图像展示的应用中,将多张图片排列成一个图像矩阵图是一个常见的需求。本博客介绍如何使用Python实现将12张图片排列成n*m的图像矩阵图。 环境准备 为了实…

操作系统专栏2进程管理from 小林coding

进程管理 基本概念进程控制进程上下文切换 线程进程和线程的比较进程通信管道消息队列共享内存信号量信号socket 基本概念 进程:一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元.并行和并发:状态: 其中挂起是指没有给程序分配实际…

学习中遇到的好博客

c日志工具之——log4cpp ECU唤醒的本质就是给ECU供电。 小文件:零拷贝技术 传输大文件:异步 IO 、直接 IO:如何高效实现文件传输:小文件采用零拷贝、大文件采用异步io直接io (123条消息) Linux网络编程 | 彻底搞懂…

机器学习01 -Hello World(对鸢尾花(Iris Flower)进行训练及测试)

什么是机器学习? 机器学习是一种人工智能(AI)的子领域,它探索和开发计算机系统,使其能够从数据中学习和改进,并在没有明确编程指令的情况下做出决策或完成任务。 传统的程序需要程序员明确编写指令来告诉…

QT 视图(view)模型(model)汇总

QStringListModel和QListView UI界面 widget头文件 #ifndef WIDGET_H #define WIDGET_H#include <QStringList> #include <QStringListModel> #include <QWidget>QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACEclass Widget : publi…

使用AOP切面对返回的数据进行脱敏的问题

1.注解类 import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target;/*** Author: xiaoxin* Date: 2023/7/21 17:15*/ Retention(RetentionPolicy.RUNTIME) Targe…

python文件处理方式

python文件处理方式 file open(D:\pythonText.txt, r, encodingUTF-8) print(file) # <_io.TextIOWrapper nameD:\\pythonText.txt moder encodingUTF-8> print(type(file)) # <class _io.TextIOWrapper>读取文件 file open(D:\pythonText.txt, r, encodingU…

3d软件动物生活习性仿真互动教学有哪些优势

软体动物是一类广泛存在于海洋和淡水环境中的生物&#xff0c;其独特的形态和生活习性给学生带来了新奇和有趣的学习主题&#xff0c;为了方便相关专业学科日常授课教学&#xff0c;web3d开发公司深圳华锐视点基于真实的软体动物&#xff0c;制作软体动物3D虚拟展示系统&#x…

【visual studio2019】如何打开即时窗口

在 Visual Studio2019 中打开即时窗口&#xff0c;有两种方法&#xff1a; 1、可以通过“调试”菜单&#xff0c;然后选择“窗口”下的“即时窗口”选项 2、直接使用快捷键“Ctrl Alt I” 此时即时窗口将显示在 Visual Studio2019 的底部。在即时窗口中&#xff0c;可以执…

Java读取及生成pb文件并转换jsonString

Java读取及生成pb文件并转换jsonString 1. 效果图2. 原理2.1 Protocol Buffers是什么2.2 支持的语言2.3 根据.proto生成.java2.4 初始化及构建pb&#xff0c;读取&#xff0c;转jsonString 3. 源码3.1 address.proto3.2 PbParseUtil.java 参考 读取pb及生成pb文件pb文件转换jso…