当前位置: 首页 > news >正文

麒麟系统—— openKylin 安装 java

麒麟系统—— openKylin 安装 java JDK

  • 一、准备工作
    • 1. 确保麒麟系统 openKylin 已经安装完毕。
    • 2. 了解 java JDK 的版本信息,以便下载合适的安装包。
  • 二、安装 java JDK
    • 3. 将下载好的 java JDK 安装包解压到指定目录。
    • 4. 配置环境
    • 5. 验证安装结果


本文将分享如何在麒麟系统 openKylin 上安装 java JDK。麒麟系统是国产操作系统,而 java JDK 是 java 编程语言的运行环境。安装 java JDK 可以让用户在麒麟系统上运行 java 程序。

一、准备工作

1. 确保麒麟系统 openKylin 已经安装完毕。

我这里使用的鸿蒙系统是 :openKylin-2.0-alpha-x86_64

在这里插入图片描述

2. 了解 java JDK 的版本信息,以便下载合适的安装包。

安装包:jdk-8u301-linux-x64.tar.gz
通过下面的地址,去下载java 的安装包

https://www.oracle.com/java/technologies/javase/javase8u211-later-archive-downloads.html

由于我这里习惯使用这个版本,所以我就直接检索:jdk-8u301-linux

在这里插入图片描述

在这里插入图片描述
下载文件有两种方法,第一种是下载到系统里,再发到服务器,openKylin上,第二种是直接在麒麟系统下载。由于我这边已经安装了SSH工具,(我这边使用的是FinalShell,所以我是在windows系统下载,发过去的。包括下面我都会用SSH工具来作为截图演示,有不懂的可以私信,一起交流学习。)

mkdir /home/app
cd /home/app
ls

在这里插入图片描述
在这里插入图片描述

我这里是将文件下载到 /home/app 目录下面,所以就进入这个目录
然后再 输入命令 : ls ,就可以看到我们的 java 安装文件了

二、安装 java JDK

3. 将下载好的 java JDK 安装包解压到指定目录。

tar -zxvf /home/app/jdk-8u301-linux-x64.tar.gz
mkdir -p /usr/local/java
mv jdk1.8.0_301/ /usr/local/java/
chown -R root:root /usr/local/java/

以下是每一步操作的解释:

  1. tar -zxvf /home/app/jdk-8u301-linux-x64.tar.gz
    • tar 是用来解压档案文件的命令。
    • -z 表示解压时需要用到gzip。
    • -x 表示解压文件。
    • -v 表示在解压时显示过程信息,可以看到正在被解压的文件名(verbose模式)。
    • -f 表示接下来的是要处理的档案文件名。
    • /home/app/jdk-8u301-linux-x64.tar.gz 是下载的Java JDK安装包的文件路径和名称。
      这个命令的作用是在当前目录解压/home/app/目录下的jdk-8u301-linux-x64.tar.gz文件。
  2. mkdir -p /usr/local/java
    • mkdir 是创建目录的命令。
    • -p 选项表示创建必要的上级目录。
    • /usr/local/java 是将要创建的目录的路径。
      这个命令的作用是在/usr/local/目录下创建一个名为java的新目录。
  3. mv jdk1.8.0_301/ /usr/local/java/
    • mv 是移动文件或目录的命令。
    • jdk1.8.0_301/ 是解压后JDK的目录名。
    • /usr/local/java/ 是JDK将被移动到的目标路径。
      这个命令的作用是将解压后的JDK目录jdk1.8.0_301/移动到/usr/local/java/目录下。
  4. chown -R root:root /usr/local/java/
    • chown 是改变文件或目录所有者的命令。
    • -R 选项表示递归地改变所有子目录和文件的所有者。
    • root:root 表示新的所有者是root用户,并且组也是root。
    • /usr/local/java/ 是将要改变所有者权限的目录路径。
      这个命令的作用是将/usr/local/java/目录及其所有子目录和文件的所有者和组都设置为root。

连起来就是:解压安装包,创建安装目录,移动解压后的JDK目录,设置目录的权限和所有者。
在这里插入图片描述

4. 配置环境

输入命令 sudo vim /etc/environment 并按回车键。

sudo vim /etc/environment

输入下面配置:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
export JAVA_HOME=/usr/local/java/jdk1.8.0_301
export JRE_HOME=/usr/local/java/jdk1.8.0_301/jre
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

下面是每一行代码的解释:

  1. PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
    • 这行定义了PATH环境变量,它告诉操作系统在执行命令时应该搜索哪些目录来查找可执行文件。PATH变量中的每个目录都是用冒号分隔的,表示搜索的顺序。这个配置确保了在用户运行Java应用程序时,系统能够找到Java解释器(java命令)以及其他可能在游戏或本地安装的程序。
  2. export JAVA_HOME=/usr/local/java/jdk1.8.0_301
    • 这行代码定义了JAVA_HOME环境变量,它指向Java开发工具包(JDK)的安装目录。JAVA_HOME变量通常用于指定Java的安装位置,以便于其他应用程序和脚本知道到哪里去查找Java库和其他资源。
  3. export JRE_HOME=/usr/local/java/jdk1.8.0_301/jre
    • 这行代码定义了JRE_HOME环境变量,它指向Java运行时环境(JRE)的安装目录。JRE是Java平台的核心组件,用于运行Java应用程序。JRE_HOME变量通常用于指定JRE的位置。
  4. export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
    • 这行代码定义了CLASSPATH环境变量,它告诉Java解释器在哪里查找Java类文件。CLASSPATH变量用于指定Java应用程序运行时需要加载的类文件的位置。这行代码将当前的CLASSPATH值与JAVA_HOME目录下的libjre/lib目录添加到一起,确保Java应用程序能够找到它所依赖的类库。
      在这里插入图片描述
      按 ESC 键
      使用大写 ZZ 保存退出

输入命令 sudo vim /etc/profile 并按回车键。

sudo vim /etc/profile

在中间加入配置:

export JAVA_HOME=/usr/local/java/jdk1.8.0_301
export JRE_HOME=/usr/local/java/jdk1.8.0_301/jre
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/
  1. export JAVA_HOME=/usr/local/java/jdk1.8.0_301
    • 这行代码定义了JAVA_HOME环境变量,它指向安装了Java Development Kit (JDK) 的目录。JDK是用于Java开发的工具包,包括编译器、运行时环境和其他工具。在这个例子中,JAVA_HOME被设置为/usr/local/java/jdk1.8.0_301,这意味着如果你想在命令行中运行Java编译器(如javac)或者执行Java程序(如java),你需要在路径中包含这个目录。
  2. export JRE_HOME=/usr/local/java/jdk1.8.0_301/jre
    • 这行代码定义了JRE_HOME环境变量,它指向Java Runtime Environment (JRE) 的安装目录。JRE是用于运行Java应用程序的运行时环境。在这个例子中,JRE_HOME被设置为与JAVA_HOME相同的目录下的jre子目录。这样,你就可以在命令行中运行Java应用程序了。
  3. export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
    • 这行代码定义了CLASSPATH环境变量,它告诉Java运行时在哪里查找Java类文件。CLASSPATH是一个字符串,包含了目录和/或文件的位置,Java虚拟机(JVM)使用它来查找类文件。这行代码将当前的CLASSPATH值与JAVA_HOME目录下的libjre/lib目录添加到一起,确保Java应用程序能够找到它所依赖的类库。
  4. export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/
    • 这行代码定义了PATH环境变量,它是一个目录列表,操作系统在执行命令时会搜索这些目录来查找可执行文件。这行代码将JAVA_HOME目录下的binjre/bin目录添加到PATH中,这样你就可以直接在命令行中运行Java相关的命令(如javajavac等)。此外,它还将在用户的主目录($HOME/)中搜索可执行文件。这样,你就可以在命令行中直接运行安装在JAVA_HOME中的Java应用程序了。

在这里插入图片描述

输入 source /etc/profile 让配置生效

source /etc/profile

在这里插入图片描述

5. 验证安装结果

java -version

在这里插入图片描述

相关文章:

麒麟系统—— openKylin 安装 java

麒麟系统—— openKylin 安装 java JDK 一、准备工作1. 确保麒麟系统 openKylin 已经安装完毕。2. 了解 java JDK 的版本信息,以便下载合适的安装包。 二、安装 java JDK3. 将下载好的 java JDK 安装包解压到指定目录。4. 配置环境5. 验证安装结果 本文将分享如何在…...

HTML学习笔记——07:其他嵌入技术

除了将图像、视频和音频嵌入到网页上&#xff0c;还能让你在网页中嵌入各种内容类型的元素&#xff1a;<iframe>, <embed> 和 <object> 元素。 <iframe>用于嵌入其他网页&#xff0c;另外两个元素则允许你嵌入 PDF&#xff0c;SVG&#xff0c;甚至 Fl…...

【UE】在控件蓝图中通过时间轴控制材质参数变化

效果 步骤 1. 新建一个控件蓝图和一个材质 2. 打开材质&#xff0c;设置材质域为用户界面&#xff0c;混合模式设置为“半透明” 在材质图表中添加两个参数来控制材质的颜色和不透明度 3. 对材质创建材质实例 4. 打开控件蓝图&#xff0c;在画布面板中添加一个图像控件 将刚…...

linux C语言socket函数send

在Linux中&#xff0c;使用C语言进行网络编程时&#xff0c;send函数是用于发送数据到已连接的套接字的重要函数之一。它通常用于TCP连接&#xff0c;但也可以用于UDP&#xff08;尽管对于UDP&#xff0c;通常更推荐使用sendto&#xff0c;因为它允许你指定目标地址和端口&…...

Django(八)

1. 管理员操作 1.1 添加 from django.shortcuts import render, redirectfrom app01 import models from app01.utils.pagination import Paginationfrom django import forms from django.core.exceptions import ValidationError from app01.utils.bootstrap import BootStr…...

上海计算机学会12月月赛 丙组题解

上海计算机学会 12 月月赛 丙组题解涉及知识点&#xff1a;数学、字符串、模拟、裴蜀定理、宽度优先搜索、动态规划 比赛链接&#xff1a;https://iai.sh.cn/contest/58 第一题&#xff1a;T1数砖数 标签&#xff1a;数学题意&#xff1a;给定一种 2 2 2x 2 2 2的瓷砖&#…...

nextjs中beforePopState使用

在某些情况下&#xff0c;希望监听popstate并在路由器对其进行操作之前执行某些操作。可以使用beforePopState。 在Next.js中&#xff0c;beforePopState是一个可选的生命周期函数&#xff0c;用于在浏览器的历史记录发生更改之前执行一些操作。具体来说&#xff0c;beforePopS…...

【并发编程】活锁

&#x1f4dd;个人主页&#xff1a;五敷有你 &#x1f525;系列专栏&#xff1a;并发编程 ⛺️稳重求进&#xff0c;晒太阳 活锁 定义&#xff1a;活锁出现在两个线程互相改变对象的结束条件&#xff0c;最后谁也无法结束 代码示例 public class TestLiveLock {stati…...

CSMM和CMMI之间有什么区别?

CSMM&#xff08;软件能力成熟度评估&#xff09;和CMMI&#xff08;能力成熟度模型集成&#xff09;都是软件行业中用于评估和提高企业软件开发过程成熟度的模型。它们之间的主要区别在于起源、定位、适应范围和具体内容。 1. 起源与定位&#xff1a; - CMMI是由美国卡耐基…...

企业面临的典型网络安全风险及其防范策略

网络安全威胁是一种技术风险&#xff0c;会削弱企业网络的防御能力&#xff0c;危及专有数据、关键应用程序和整个IT基础设施。由于企业面临着广泛的威胁&#xff0c;因此通过监控和缓解最关键的威胁和漏洞。网络安全问题有七大类&#xff0c;包括多种威胁&#xff0c;以及团队…...

JavaScript进阶:WebAPIs重点知识整理1

目录 1 DOM修改元素内容 2 DOM修改元素常见属性 3 修改元素样式属性 3.1 通过style修改元素样式 3.2 通过类名className修改元素样式 3.3 通过classList修改元素样式 4 操作表单元素属性 5 自定义属性 6 定时器 7 事件监听 7.1 点击事件 click 7.2 鼠mouseenter和移…...

【Nginx】使用自生成证书配置nginx代理https

使用Nginx代理HTTPS请求并使用自签名证书&#xff0c;可以按照以下步骤进行配置&#xff1a; 生成自签名证书&#xff1a; 打开终端或命令提示符&#xff0c;并导航到Nginx配置文件所在的目录。运行以下命令生成自签名证书和私钥&#xff1a; openssl req -x509 -nodes -days 3…...

【Linux】文件周边001之系统文件IO

&#x1f440;樊梓慕&#xff1a;个人主页 &#x1f3a5;个人专栏&#xff1a;《C语言》《数据结构》《蓝桥杯试题》《LeetCode刷题笔记》《实训项目》《C》《Linux》《算法》 &#x1f31d;每一个不曾起舞的日子&#xff0c;都是对生命的辜负 目录 前言 1.C语言文件IO 1.1…...

防火墙接口配置实验

1、搭建拓扑 2、给云端添加网络&#xff0c;来实现真机与虚拟机的连接 3、 给防火墙g0/0/0口配置IP&#xff0c;由于我云端绑定的是192.168.100.10&#xff0c;所以这里IP配置为192.168.100.1/24,使用命令开启防火墙远程连接的服务&#xff0c;之后便可通过web远程登陆防火墙 …...

《WebKit 技术内幕》学习之五(4): HTML解释器和DOM 模型

4 影子&#xff08;Shadow&#xff09;DOM 影子 DOM 是一个新东西&#xff0c;主要解决了一个文档中可能需要大量交互的多个 DOM 树建立和维护各自的功能边界的问题。 4.1 什么是影子 DOM 当开发这样一个用户界面的控件——这个控件可能由一些 HTML 的标签元素…...

SpringBoot+Vue充电桩管理系统 附带详细运行指导视频

文章目录 一、项目演示二、项目介绍三、运行截图四、主要代码1. 分页获取预约数据代码2.保存预约信息代码3.修改订单状态代码 一、项目演示 项目演示地址&#xff1a; 视频地址 二、项目介绍 项目描述&#xff1a;这是一个基于SpringBootVue框架开发的充电桩管理系统。首先&…...

【数据结构】二叉树算法讲解(定义+算法原理+源码)

博主介绍&#xff1a;✌全网粉丝喜爱、前后端领域优质创作者、本质互联网精神、坚持优质作品共享、掘金/腾讯云/阿里云等平台优质作者、擅长前后端项目开发和毕业项目实战✌有需要可以联系作者我哦&#xff01; &#x1f345;附上相关C语言版源码讲解&#x1f345; &#x1f44…...

Vue3基础:挂载事例方法.mount()是什么?根组件模板又是什么?

.mount() <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Vue 3 演示</title> </head>…...

Unity 面试篇|(七)Unity渲染与Shader篇 【全面总结 | 持续更新】

目录 1.问一个Terrain&#xff0c;分别贴3张&#xff0c;4张&#xff0c;5张地表贴图&#xff0c;渲染速度有什么区别&#xff1f;为什么&#xff1f;2.什么是LightMap&#xff1f;3.MipMap是什么&#xff0c;作用&#xff1f;4.请问alpha test在何时使用&#xff1f;能达到什么…...

记录一些多维数组的方法

文章目录 前言一、获取多维数组的数据二、多维数组自带的方法总结 前言 验证过程中&#xff0c;我们经常会用到多维数组存储数据&#xff0c;本文主要记录一下&#xff0c;如何去获取我们需要的数据&#xff0c;以及多维数组自带的一些方法。 一、获取多维数组的数据 获取多维…...

汽车生产虚拟实训中的技能提升与生产优化​

在制造业蓬勃发展的大背景下&#xff0c;虚拟教学实训宛如一颗璀璨的新星&#xff0c;正发挥着不可或缺且日益凸显的关键作用&#xff0c;源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例&#xff0c;汽车生产线上各类…...

【项目实战】通过多模态+LangGraph实现PPT生成助手

PPT自动生成系统 基于LangGraph的PPT自动生成系统&#xff0c;可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析&#xff1a;自动解析Markdown文档结构PPT模板分析&#xff1a;分析PPT模板的布局和风格智能布局决策&#xff1a;匹配内容与合适的PPT布局自动…...

微信小程序云开发平台MySQL的连接方式

注&#xff1a;微信小程序云开发平台指的是腾讯云开发 先给结论&#xff1a;微信小程序云开发平台的MySQL&#xff0c;无法通过获取数据库连接信息的方式进行连接&#xff0c;连接只能通过云开发的SDK连接&#xff0c;具体要参考官方文档&#xff1a; 为什么&#xff1f; 因为…...

[Java恶补day16] 238.除自身以外数组的乘积

给你一个整数数组 nums&#xff0c;返回 数组 answer &#xff0c;其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法&#xff0c;且在 O(n) 时间复杂度…...

蓝桥杯3498 01串的熵

问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798&#xff0c; 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...

【学习笔记】erase 删除顺序迭代器后迭代器失效的解决方案

目录 使用 erase 返回值继续迭代使用索引进行遍历 我们知道类似 vector 的顺序迭代器被删除后&#xff0c;迭代器会失效&#xff0c;因为顺序迭代器在内存中是连续存储的&#xff0c;元素删除后&#xff0c;后续元素会前移。 但一些场景中&#xff0c;我们又需要在执行删除操作…...

SQL Server 触发器调用存储过程实现发送 HTTP 请求

文章目录 需求分析解决第 1 步:前置条件,启用 OLE 自动化方式 1:使用 SQL 实现启用 OLE 自动化方式 2:Sql Server 2005启动OLE自动化方式 3:Sql Server 2008启动OLE自动化第 2 步:创建存储过程第 3 步:创建触发器扩展 - 如何调试?第 1 步:登录 SQL Server 2008第 2 步…...

解析“道作为序位生成器”的核心原理

解析“道作为序位生成器”的核心原理 以下完整展开道函数的零点调控机制&#xff0c;重点解析"道作为序位生成器"的核心原理与实现框架&#xff1a; 一、道函数的零点调控机制 1. 道作为序位生成器 道在认知坐标系$(x_{\text{物}}, y_{\text{意}}, z_{\text{文}}…...

验证redis数据结构

一、功能验证 1.验证redis的数据结构&#xff08;如字符串、列表、哈希、集合、有序集合等&#xff09;是否按照预期工作。 2、常见的数据结构验证方法&#xff1a; ①字符串&#xff08;string&#xff09; 测试基本操作 set、get、incr、decr 验证字符串的长度和内容是否正…...

StarRocks 全面向量化执行引擎深度解析

StarRocks 全面向量化执行引擎深度解析 StarRocks 的向量化执行引擎是其高性能的核心设计&#xff0c;相比传统行式处理引擎&#xff08;如MySQL&#xff09;&#xff0c;性能可提升 5-10倍。以下是分层拆解&#xff1a; 1. 向量化 vs 传统行式处理 维度行式处理向量化处理数…...