CentOS8安装更换JDK

CentOS8安装更换JDK

背景:在服务器上启动java项目报错,JDK问题。更换jdk。探索整理安装JDK的方法。一些常用系统命令。清华源下载。

文章目录

  • CentOS8安装更换JDK
    • 准备工作:查看本地相关信息
  • 方式一:yum安装
    • 搜索
    • 安装
    • 配置环境变量
  • 方式二:官网下载压缩包安装
    • 获取下载链接(官网或者[国内镜像清华](https://mirrors.tuna.tsinghua.edu.cn/Adoptium/) )
    • 解压(即安装)
    • 配置环境变量

准备工作:查看本地相关信息

#查看系统的硬件架构
(base) [root@Server ~]# uname -m
x86_64(base) [root@Servere ~]# uname -a
Linux Server-3401572e-0499-44a9-88bb-b2b2061f3c4e 4.18.0-348.7.1.el8_5.x86_64 #1 SMP Wed Dec 22 13:25:12 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
(base) [root@Server ~]# cat /etc/os-release
NAME="CentOS Linux"
VERSION="8"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="8"
PLATFORM_ID="platform:el8"
PRETTY_NAME="CentOS Linux 8"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:8"
HOME_URL="https://centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-8"
CENTOS_MANTISBT_PROJECT_VERSION="8"
(base) [root@Server ~]# lscpu
Architecture:        x86_64
CPU op-mode(s):      32-bit, 64-bit
Byte Order:          Little Endian
CPU(s):              16
On-line CPU(s) list: 0-15
Thread(s) per core:  2
Core(s) per socket:  8
Socket(s):           1
NUMA node(s):        1
Vendor ID:           GenuineIntel
BIOS Vendor ID:      QEMU
CPU family:          6
Model:               85
Model name:          Intel(R) Xeon(R) Gold 6161 CPU @ 2.20GHz
BIOS Model name:     pc-i440fx-2.8
Stepping:            4
CPU MHz:             2200.000
BogoMIPS:            4400.00
Hypervisor vendor:   KVM
Virtualization type: full
L1d cache:           32K
L1i cache:           32K
L2 cache:            1024K
L3 cache:            30976K
NUMA node0 CPU(s):   0-15
Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single ssbd ibrs ibpb stibp fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx avx512f avx512dq rdseed adx smap clflushopt clwb avx512cd avx512bw avx512vl xsaveopt xsavec xgetbv1 arat md_clear flush_l1d#查看当前jdk版本
(base) [root@Server ~]# java --version
openjdk 17.0.8 2023-07-18
OpenJDK Runtime Environment GraalVM CE 22.3.3 (build 17.0.8+7-jvmci-22.3-b22)
OpenJDK 64-Bit Server VM GraalVM CE 22.3.3 (build 17.0.8+7-jvmci-22.3-b22, mixed mode, sharing)#查看当前系统安装了哪些关于java的东西
(base) [root@Server ~]# rpm -qa | grep java
javapackages-filesystem-5.3.0-1.module_el8.0.0+11+5b8c10bd.noarch
java-11-openjdk-11.0.13.0.8-4.el8_5.x86_64
java-11-openjdk-headless-11.0.13.0.8-4.el8_5.x86_64
tzdata-java-2021e-1.el8.noarch(base) [root@Server ~]# rpm -qa | grep jdk
java-11-openjdk-11.0.13.0.8-4.el8_5.x86_64
java-11-openjdk-headless-11.0.13.0.8-4.el8_5.x86_64
copy-jdk-configs-4.0-2.el8.noarch(base) [root@Server ~]# yum list installed | grep java
java-11-openjdk.x86_64                             1:11.0.13.0.8-4.el8_5                         @appstream
java-11-openjdk-headless.x86_64                    1:11.0.13.0.8-4.el8_5                         @appstream
javapackages-filesystem.noarch                     5.3.0-1.module_el8.0.0+11+5b8c10bd            @appstream
tzdata-java.noarch                                 2021e-1.el8                                   @appstream

java配置环境变量可参考博客了解配置这些到底是干啥用的

(base) [root@Server ~]# vim ~/.bash_profile
#配置环境变量
#Java
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk/jdk-17.0.10+7  # JDK 17安装路径
export PATH=$JAVA_HOME/bin:$PATH

方式一:yum安装

分三步:搜索,安装,配置环境变量

优点:直接install就完事了!

缺点:版本较少,没办法满足需求!

搜索

(base) [root@Server ~]# yum search java | grep -i --color JDK
Last metadata expiration check: 3:00:04 ago on Mon 15 Apr 2024 12:39:17 PM CST.
......
java-17-openjdk.x86_64 : OpenJDK 17 Runtime Environment
java-17-openjdk-demo.x86_64 : OpenJDK 17 Demos
java-17-openjdk-devel.x86_64 : OpenJDK 17 Development Environment
java-17-openjdk-headless.x86_64 : OpenJDK 17 Headless Runtime Environment
java-17-openjdk-javadoc.x86_64 : OpenJDK 17 API documentation
java-17-openjdk-javadoc-zip.x86_64 : OpenJDK 17 API documentation compressed in a single archive
java-17-openjdk-jmods.x86_64 : JMods for OpenJDK 17
......
icedtea-web.x86_64 : Additional Java components for OpenJDK - Java browser plug-in and Web Start implementation
openjdk-asmtools.noarch : Set of tools used to assemble / disassemble proper and improper Java .class files
openjdk-asmtools7.noarch : Set of tools used to assemble / disassemble proper and improper Java .class files for JDK version 11 and lesser

安装

(base) [root@Server ~]# yum install java-17-openjdk.x86_64
Last metadata expiration check: 3:00:49 ago on Mon 15 Apr 2024 12:39:17 PM CST.
Dependencies resolved.
======================================================================================================================Package                             Architecture      Version                             Repository            Size
======================================================================================================================
Installing:java-17-openjdk                     x86_64            1:17.0.1.0.12-2.el8_5               appstream            244 k
Installing dependencies:java-17-openjdk-headless            x86_64            1:17.0.1.0.12-2.el8_5               appstream             41 MTransaction Summary
======================================================================================================================
Install  2 PackagesTotal download size: 41 M
Installed size: 190 M
Is this ok [y/N]: y
Downloading Packages:
(1/2): java-17-openjdk-17.0.1.0.12-2.el8_5.x86_64.rpm                                 146 kB/s | 244 kB     00:01
(2/2): java-17-openjdk-headless-17.0.1.0.12-2.el8_5.x86_64.rpm                        8.7 MB/s |  41 MB     00:04
----------------------------------------------------------------------------------------------------------------------
Total                                                                                 8.7 MB/s |  41 MB     00:04
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transactionRunning scriptlet: java-17-openjdk-headless-1:17.0.1.0.12-2.el8_5.x86_64                                        1/1Preparing        :                                                                                              1/1Installing       : java-17-openjdk-headless-1:17.0.1.0.12-2.el8_5.x86_64                                        1/2Running scriptlet: java-17-openjdk-headless-1:17.0.1.0.12-2.el8_5.x86_64                                        1/2Installing       : java-17-openjdk-1:17.0.1.0.12-2.el8_5.x86_64                                                 2/2Running scriptlet: java-17-openjdk-1:17.0.1.0.12-2.el8_5.x86_64                                                 2/2Verifying        : java-17-openjdk-1:17.0.1.0.12-2.el8_5.x86_64                                                 1/2Verifying        : java-17-openjdk-headless-1:17.0.1.0.12-2.el8_5.x86_64                                        2/2Installed:java-17-openjdk-1:17.0.1.0.12-2.el8_5.x86_64          java-17-openjdk-headless-1:17.0.1.0.12-2.el8_5.x86_64Complete!

配置环境变量

同最上面(vim时注意目录)yum安装默认目录为 /usr/lib/jvm

方式二:官网下载压缩包安装

获取下载链接(官网或者国内镜像清华 )

(base) [root@Server env]# wget https://mirrors.tuna.tsinghua.edu.cn/Adoptium/17/jdk/x64/linux/OpenJDK17U-jdk_x64_linux_hotspot_17.0.10_7.tar.gz
--2024-04-15 16:25:37--  https://mirrors.tuna.tsinghua.edu.cn/Adoptium/17/jdk/x64/linux/OpenJDK17U-jdk_x64_linux_hotspot_17.0.10_7.tar.gz
Resolving mirrors.tuna.tsinghua.edu.cn (mirrors.tuna.tsinghua.edu.cn)... 101.6.15.130, 2402:f000:1:400::2
Connecting to mirrors.tuna.tsinghua.edu.cn (mirrors.tuna.tsinghua.edu.cn)|101.6.15.130|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 192205930 (183M) [application/octet-stream]
Saving to: ‘OpenJDK17U-jdk_x64_linux_hotspot_17.0.10_7.tar.gz’OpenJDK17U-jdk_x64_linux_hots 100%[=================================================>] 183.30M  11.4MB/s    in 18s2024-04-15 16:25:55 (10.5 MB/s) - ‘OpenJDK17U-jdk_x64_linux_hotspot_17.0.10_7.tar.gz’ saved [192205930/192205930]

解压(即安装)

#报错
(base) [root@Server env]# sudo tar -xzvf OpenJDK17U-jdk_x64_linux_hotspot_17.0.10_7.tar.gz /usr/lib/jvm/java-17-openjdk
tar: /usr/lib/jvm/java-17-openjdk: Not found in archive
tar: Exiting with failure status due to previous errors
#以为是没创建目录
(base) [root@Server env]# mkdir /usr/lib/jvm/java-17-openjdk
#根本原因没有指定 -C 即解压目录
(base) [root@Server env]# sudo tar -xzvf OpenJDK17U-jdk_x64_linux_hotspot_17.0.10_7.tar.gz /usr/lib/jvm/java-17-openjdk
tar: /usr/lib/jvm/java-17-openjdk: Not found in archive
tar: Exiting with failure status due to previous errors
(base) [root@Server env]# sudo tar -xzvf OpenJDK17U-jdk_x64_linux_hotspot_17.0.10_7.tar.gz -C /usr/lib/jvm/java-17-openjdk
jdk-17.0.10+7/
jdk-17.0.10+7/bin/
jdk-17.0.10+7/bin/javap
jdk-17.0.10+7/bin/jar
...
....
jdk-17.0.10+7/conf/logging.properties

配置环境变量

(base) [root@Server env]# vim ~/.bash_profile
(base) [root@Server env]# source ~/.bash_profile
(base) [root@Server env]# java -version
openjdk version "17.0.10" 2024-01-16
OpenJDK Runtime Environment Temurin-17.0.10+7 (build 17.0.10+7)
OpenJDK 64-Bit Server VM Temurin-17.0.10+7 (build 17.0.10+7, mixed mode, sharing)

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

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

相关文章

Linux(rpm,yum安装及管理程序)

目录 1.应用程序与系统命令 2.RPM 2.1rpm软件包管理工具 2.2 rpm命令的形式 2.3查询rpm软件包 ​2.4安装、升级、卸载rpm软件包 2.5维护数据库 3.yum 3.1 配置本地yum源仓库 3.2 yum常用操作命令 3.3 源码编译安装软件 1.应用程序与系统命令 应用程序与系统命令的关系 典…

银河麒麟安装OpenJDK

# 更新软件包列表(根据系统的实际情况,可能不需要这一步) sudo apt-get update # 安装OpenJDK sudo apt-get install openjdk-8-jdk

圣若热城堡、贝伦塔、热罗尼莫斯修道院 BIBM 2024在里斯本等你

会议之眼 快讯 2024年BIBM(IEEE International Conference on Bioinformatics and Biomedicine)即IEEE生物信息学与生物医学国际会议将于 2024年 12月3日-6日在葡萄牙里斯本举行!这个会议由IEEE(电气和电子工程师协会&#xff09…

linux将一个文件移动或复制到另一个目录下(超详细)

问题:需要在linux中将一个文件移动或复制到另一个目录下 下面提到的目录,可以直观理解为window中的文件夹 1、mv命令 mv是"move"的缩写,用于移动文件或目录到另一个位置。 将 文件 a.txt 移动到 目录home下 mv a.txt home将 目录…

Spark 中的分桶分化

Spark 中的分桶分化 Bucketing是 Spark 和 Hive 中用于优化任务性能的一种技术。在分桶桶(集群列)中确定数据分区并防止数据混洗。根据一个或多个分桶列的值,将数据分配给预定义数量的桶。 分桶有两个主要好处: 改进的查询性能&…

小游戏贪吃蛇的实现之C语言版

找往期文章包括但不限于本期文章中不懂的知识点: 个人主页:我要学编程(ಥ_ಥ)-CSDN博客 所属专栏:C语言 目录 游戏前期准备: 设置控制台相关的信息 GetStdHandle GetConsoleCursorInfo SetConsoleCursorInfo SetConsoleCu…

单机三pxc节点集群,+docker-haproxy2.0负载均衡实现

一.下载 https://www.haproxy.org/download/2.0/src/haproxy-2.0.5.tar.gz 或者在这里下载(下面需要的各个配置文件都有): https://download.csdn.net/download/cyw8998/89170129 二.编写文件,制作docker镜像 1.Dockerfile&a…

四款一键智能改写工具,为你轻松改出爆款文章

四款一键智能改写工具,为你轻松改出爆款文章!当今,虽然内容创作变得非常重要。但是,有时候创作灵感可能枯竭,或者需要对已有内容进行改写以增加独特性。这时候,一键智能改写工具成为了创作中的一种强大的辅…

LeetCode 课程表二(拓扑排序+Python)

使用桶排序算法中的kahn(卡恩)算法,也可以使用dfs。 这里使用卡恩算法,主要维护一个列表cnt,cnt【i】表示能到达节点i的边,比如说:a到c有一条边,b到c有一条边,那么cnt【…

信息流广告大行其是,微博回望“原生”的初心

摘要:有流量的地方,就当有原生信息流广告 信息流广告,自2006年Facebook推出后就迅速火遍全球数字营销界,被誉为实现了广告主、用户、媒体平台三赢。特别是随着OCPM/OCPX大放异彩,信息流广告几乎成为广告主的必选项&…

Print Conductor 文档批量打印工具 v9.0.2312

网盘下载 Print Conductor 是 Windows 上一款功能强大的文档批量打印工具,通过该软件可以快速的帮用户批量处理打印PDF文件、协议、文档、图纸、演示文稿、文本文件等,完美的支持PDF、DOC、JPG、PNG、SNP、PSD、MSG、WRI、WPS、RTF、TXT、XLS、PPT、PPS、…

在Linux系统中,禁止有线以太网使用NTP服务器进行时间校准的几种方法

目录标题 方法 1:修改NTP配置以禁止所有同步方法 2:通过网络配置禁用NTP同步方法 3:禁用NTP服务 在Linux系统中,如果想要禁止有线以太网使用NTP服务器进行时间校准,可以通过以下几种方法之一来实现: 方法 …

Java中的对象

什么是类和对象 在Java中类是物以类聚,分类的思维模式,思考问题首先会解决问题需要哪些分类,然后对这些类进行单独思考,最后才是对某分类下的细节进行单独思考 面向对象适合处理复杂问题适合处理需要多人协作的问题 在Java中面向…

【状态机dp 动态规划】100290. 使矩阵满足条件的最少操作次数

本文涉及知识点 动态规划汇总 状态机dp LeetCode100290. 使矩阵满足条件的最少操作次数 给你一个大小为 m x n 的二维矩形 grid 。每次 操作 中,你可以将 任一 格子的值修改为 任意 非负整数。完成所有操作后,你需要确保每个格子 grid[i][j] 的值满足…

【Qt 学习笔记】Qt常用控件 | 显示类控件 | Label的使用及说明

博客主页:Duck Bro 博客主页系列专栏:Qt 专栏关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ Qt常用控件 | 显示类控件 | Label的使用及说明 文章编号:Q…

Opencv Python图像处理笔记一:图像、窗口基本操作

文章目录 前言一、输入输出1.1 图片读取显示保存1.2 视频读取保存1.3 文件读取保存 二、GUI2.1 窗口2.2 轨迹条2.3 画图2.4 鼠标回调 三、图像入门操作3.1 颜色空间转化3.2 通道分离合并3.3 添加边框3.4 算数操作 四、二值化4.1 普通4.2 自适应4.3 Otsu 参考 前言 随着人工智能…

mysql基础3——创建和修改数据表

创建数据表 创建一个表(importtype有默认值1)并插入一条数据(importtype字段没有指定值) 约束 默认约束(把设置的默认值自动赋值给字段) create table demo.importhead(listnum int,supplied int,stock…

C++进修——C++基础入门

初识C 书写HelloWorld #include <iostream> using namespace std;int main() {cout << "HelloWorldd" << endl;system("pause");return 0; }注释 作用&#xff1a;在代码中加一些说明和解释&#xff0c;方便自己或其他程序员阅读代码…

docker打包部署自己的应用

docker部署应用 当谈及使用 Docker 进行容器化部署应用时&#xff0c;可以想象它是一个能够将整个应用程序及其所有依赖项打包成一个独立、可移植的容器的工具。这个容器不仅包含了应用代码&#xff0c;还包括了操作系统、运行时环境以及所有依赖的库和组件。这样一来&#xf…

双工结构(duplex construction)

参考文献&#xff1a; [BDPV11] Bertoni G, Daemen J, Peeters M, et al. Duplexing the sponge: single-pass authenticated encryption and other applications[C]//Selected Areas in Cryptography: 18th International Workshop, SAC 2011, Toronto, ON, Canada, August 1…