OpenEuler学习笔记(十五):在OpenEuler上搭建Java运行环境

在这里插入图片描述

一、在OpenEuler上搭建Java运行环境

在OpenEuler上搭建Java运行环境可以通过以下几种常见方式,下面分别介绍基于包管理器安装OpenJDK和手动安装Oracle JDK的步骤。

使用包管理器安装OpenJDK

OpenJDK是Java开发工具包的开源实现,在OpenEuler上可以方便地使用包管理器进行安装。

  1. 更新系统软件包
    在安装Java之前,建议先更新系统的软件包列表,确保获取到最新的软件包信息。
sudo dnf update -y
  1. 搜索可用的Java版本
    使用以下命令搜索系统中可用的OpenJDK版本:
sudo dnf search java-*-openjdk

该命令会列出所有可用的OpenJDK版本,你可以根据自己的需求选择合适的版本,例如Java 11或Java 17。
3. 安装选定的Java版本
假设你要安装Java 17,执行以下命令:

sudo dnf install java-17-openjdk-devel -y

java-17-openjdk-devel 包含了开发和运行Java程序所需的所有组件。如果你只需要运行Java程序,也可以安装 java-17-openjdk
4. 验证Java安装
安装完成后,使用以下命令验证Java是否安装成功:

java -version
javac -version

如果输出显示了Java的版本信息,则说明Java安装成功。

手动安装Oracle JDK

如果你需要使用Oracle JDK,可以按照以下步骤进行手动安装:

  1. 下载Oracle JDK
    访问Oracle官方网站(https://www.oracle.com/java/technologies/javase-downloads.html ),根据你的系统架构(如x64)下载合适的JDK压缩包(通常是 .tar.gz 格式)。
  2. 创建安装目录
    在系统中创建一个用于安装JDK的目录,例如:
sudo mkdir /usr/local/java
  1. 解压JDK压缩包
    将下载的JDK压缩包解压到刚刚创建的目录中:
sudo tar -zxvf jdk-17.0.4_linux-x64_bin.tar.gz -C /usr/local/java

请将 jdk-17.0.4_linux-x64_bin.tar.gz 替换为你实际下载的文件名。
4. 配置环境变量
编辑 /etc/profile 文件,添加以下内容来配置Java的环境变量:

sudo vim /etc/profile

在文件末尾添加以下内容:

export JAVA_HOME=/usr/local/java/jdk-17.0.4
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

请将 /usr/local/java/jdk-17.0.4 替换为你实际解压后的JDK目录。
保存并退出文件后,执行以下命令使环境变量生效:

source /etc/profile
  1. 验证Java安装
    使用以下命令验证Java是否安装成功:
java -version
javac -version

如果输出显示了Java的版本信息,则说明Java安装成功。

多Java版本管理

如果你需要在系统中同时管理多个Java版本,可以使用 alternatives 工具进行切换。例如,如果你安装了Java 8和Java 17,可以使用以下命令切换默认的Java版本:

sudo alternatives --config java

根据提示选择你想要使用的Java版本即可。

二、在OpenEuler上配置Java运行环境的环境变量

在OpenEuler上配置Java运行环境的环境变量主要是设置JAVA_HOMEPATHCLASSPATH,下面为你详细介绍配置方法:

1. 确定Java安装路径

首先要明确Java的安装路径。如果你是通过包管理器(如dnf)安装的OpenJDK,通常安装在/usr/lib/jvm目录下;若手动安装Oracle JDK,安装路径则是你解压JDK压缩包的目录。

你可以使用以下命令查看已安装的Java路径:

alternatives --display java

或者通过查找文件的方式:

find / -name "java" 2>/dev/null

2. 配置环境变量

环境变量的配置方式有两种,分别是针对当前用户和针对所有用户,以下为你详细介绍:

针对当前用户配置

如果你只想为当前登录的用户配置Java环境变量,可以编辑当前用户的.bashrc.bash_profile文件。以.bashrc为例:

vim ~/.bashrc

在文件末尾添加以下内容,假设Java安装路径为/usr/lib/jvm/java-17-openjdk

export JAVA_HOME=/usr/lib/jvm/java-17-openjdk
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
  • JAVA_HOME:指向Java的安装目录,方便其他程序引用。
  • PATH:将Java的可执行文件目录添加到系统的搜索路径中,这样就可以在任意位置直接使用javajavac等命令。
  • CLASSPATH:指定Java类文件的搜索路径,.表示当前目录,dt.jartools.jar是Java的核心类库。

保存并退出文件后,执行以下命令使配置生效:

source ~/.bashrc
针对所有用户配置

若要为系统中的所有用户配置Java环境变量,可以编辑/etc/profile文件:

sudo vim /etc/profile

在文件末尾添加上述相同的环境变量配置内容:

export JAVA_HOME=/usr/lib/jvm/java-17-openjdk
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

保存并退出文件后,执行以下命令使配置生效:

source /etc/profile

3. 验证配置

配置完成后,使用以下命令验证Java环境变量是否配置成功:

echo $JAVA_HOME
java -version
javac -version

如果echo $JAVA_HOME能正确输出Java的安装路径,并且java -versionjavac -version能正常显示Java的版本信息,则说明Java环境变量配置成功。

在这里插入图片描述

三、如何验证Java环境变量是否配置成功?

验证Java环境变量是否配置成功可以通过以下几种常见方法:

检查环境变量输出

  • 检查JAVA_HOME:在终端中输入echo $JAVA_HOME,如果正确输出了你配置的Java安装路径,说明JAVA_HOME环境变量配置正确。例如,正确配置时可能输出/usr/lib/jvm/java-17-openjdk
  • 检查PATH:输入echo $PATH,查看输出中是否包含$JAVA_HOME/bin的路径,这确保了系统能在正确的路径下找到Java可执行文件。

命令行工具验证

  • java -version命令:在终端中输入java -version,如果成功显示Java的版本信息,如java version "17.0.8" 2023-07-18 LTS等内容,说明Java运行环境和相关环境变量配置基本正确,系统能够找到并执行Java命令。
  • javac -version命令:输入javac -version,若能显示Java编译器的版本信息,表明Java开发环境的环境变量配置无误,javac命令可以正常使用,通常用于验证Java开发相关的环境变量是否配置正确。

编写并运行Java程序

  • 创建测试文件:使用文本编辑器创建一个简单的Java程序,例如命名为HelloWorld.java,内容如下:
public class HelloWorld {public static void main(String[] args) {System.out.println("Hello, World!");}
}
  • 编译运行:在终端中,进入到保存HelloWorld.java文件的目录,执行javac HelloWorld.java命令进行编译。如果没有报错,说明javac命令能正常工作,环境变量配置正确。接着执行java HelloWorld,如果能在终端中输出Hello, World!,则证明Java运行环境的环境变量配置成功,Java程序可以正常编译和运行。

如果上述任何一种方法出现问题或无法得到预期结果,可能需要检查环境变量的配置是否正确,以及Java安装是否完整和正确。

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

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

相关文章

[Java]继承

1. 什么是继承? 继承是面向对象编程的一种机制,允许一个类(叫做子类)继承另一个类(叫做父类)的属性和方法。也就是说,子类可以“继承”父类的行为(方法)和状态&#xff…

双指针c++

双指针(Two Pointers)是一种常用的算法技巧,通常用于解决数组或链表中的问题,如滑动窗口、区间合并、有序数组的两数之和等。双指针的核心思想是通过两个指针的移动来优化时间复杂度,通常可以将 (O(n^2)) 的暴力解法优…

第05章 16 Implicit Function应用举例

Implicit Function在VTK中有多种广泛的应用场合,以下是一些主要的应用场景及其详细说明: 1. 几何裁剪(Clipping) Implicit Function可以用于对几何体进行裁剪,生成新的几何形状。裁剪操作通常基于一个Implicit Funct…

【二叉搜索树】

二叉搜索树 一、认识二叉搜索树二、二叉搜索树实现2.1插入2.2查找2.3删除 总结 一、认识二叉搜索树 二叉搜索树(Binary Search Tree,简称 BST)是一种特殊的二叉树,它具有以下特征: 若它的左子树不为空,则…

洛谷P3372 【模板】线段树 1以及分块

【模板】线段树 1 题目描述 如题,已知一个数列,你需要进行下面两种操作: 将某区间每一个数加上 k k k。求出某区间每一个数的和。 输入格式 第一行包含两个整数 n , m n, m n,m,分别表示该数列数字的个数和操作的总个数。 …

Linux运维之Linux的安装和配置

目录 Linux的基本概念: 1.为什么要使用Linux? 2.什么是Linux? Linux的安装和配置: 1.下载Linux的虚拟机和镜像文件: 1.1下载虚拟机 1.2下载镜像文件 2.在虚拟机或者物理机中安装Linux操作系统 3.配置虚拟机的…

Google 和 Meta 携手 FHE 应对隐私挑战

1. 引言 为什么世界上最大的广告商,如谷歌和 Meta 这样的超大规模公司都选择全同态加密 (FHE)。 2. 定向广告 谷歌和 Meta 是搜索引擎和社交网络领域的两大巨头,它们本质上从事的是同一业务——广告。它们最近公布的年度广告收入数据显示,…

【ArcMap零基础训练营】01 ArcMap使用入门及绘图基础

ArcMap入门及使用技巧 230106直播录像 ArcMap使用技巧及制图入门 ArcGIS的安装 本次教学使用的ArcMap版本为10.7,建议各位安装ArcGIS10.0及其以上版本的英文版本。 下载及安装详细教程可参考ArcGIS 10.8 for Desktop 完整安装教程 麻辣GIS 改善使用体验的几个操作…

一个 windows 自动语音识别案列

一个 windows 自动语音识别案列 之前给写过一段很有意思的代码,今天分享给大家 ! 文章目录 一个 windows 自动语音识别案列前言一、需要安装一些python 库二、代码如下三,测试总结下前言 一、需要安装一些python 库 speech_recognition:这是一个用于语音识别的库。它可以…

程序员学英文之At the Airport Customs

Dialogue-1 Making Airline Reservation预定机票 My cousin works for Xiamen Airlines. 我表哥在厦航上班。I’d like to book an air ticket. 我想预定一张机票。Don’t judge a book by its cover. 不要以貌取人。I’d like to book / re-serve a table for 10. 我想预定一…

[250125] DeepSeek 发布开源大模型 R1,性能比肩 OpenAI o1 | 希捷推出高达 36TB 的硬盘

DeepSeek 发布开源大模型 R1,性能比肩 OpenAI o1 DeepSeek 正式发布了 DeepSeek-R1 大模型,并同步开源了模型权重,其性能对标 OpenAI o1 正式版。 🌟 主要亮点: 开源模型,MIT 许可证: DeepSe…

Python 写的几个经典游戏 新年放烟花、 贪吃蛇、俄罗斯方块、超级玛丽、五子棋、蜘蛛纸牌

0、新年放烟花 import pygame import random import math# 初始化Pygame pygame.init()# 设置窗口 WIDTH 800 HEIGHT 600 screen pygame.display.set_mode((WIDTH, HEIGHT)) pygame.display.set_caption("新年放烟花")# 颜色定义 BLACK (0, 0, 0) WHITE (255, 2…

Python Typing: 实战应用指南

文章目录 1. 什么是 Python Typing?2. 实战案例:构建一个用户管理系统2.1 项目描述2.2 代码实现 3. 类型检查工具:MyPy4. 常见的 typing 用法5. 总结 在 Python 中,静态类型检查越来越受到开发者的重视。typing 模块提供了一种方式…

canvas的基本用法

canvas canvas元素简介 1.是个container元素<canvas width100 height100></canvas>&#xff0c;有开闭标签 2.有且只有width和height两个attribute&#xff0c;不需要写单位 canvas的基本使用 const canvasEl document.getElementById(canvas01) const ctx …

【自学笔记】计算机网络的重点知识点-持续更新

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 计算机网络重点知识点一、计算机网络概述二、网络分类三、网络性能指标四、网络协议与体系结构五、数据交换方式六、物理层与数据链路层七、网络层与运输层八、应用…

14-8C++STL的queue容器

一、queue容器 (1)queue容器的简介 queue为队列容器&#xff0c;“先进先出”的容器 (2)queue对象的构造 queue<T>q; queue<int>que Int;//存放一个int的queue容器 queue<string>queString;//存放一个string的queue容器 (3)queue容器的push()与pop()方…

计算机毕业设计Python+CNN卷积神经网络高考推荐系统 高考分数线预测 高考爬虫 协同过滤推荐算法 Vue.js Django Hadoop 大数据毕设

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…

PyCharm接入DeepSeek实现AI编程

目录 效果演示 创建API key 在PyCharm中下载CodeGPT插件 配置Continue DeepSeek 是一家专注于人工智能技术研发的公司&#xff0c;致力于开发高性能、低成本的 AI 模型。DeepSeek-V3 是 DeepSeek 公司推出的最新一代 AI 模型。其前身是 DeepSeek-V2.5&#xff0c;经过持续的…

C语言指针专题一 -- 指针基础原理

目录 1. 指针概念 地址和变量 指针 2. 指针的声明与初始化 3. 指针的使用 指针访问 指针的运算 指针与数组 指针与函数 4. 编程实例 5. 指针的常见陷阱与防御 6. 总结 1. 指针概念 地址和变量 在C语言中&#xff0c;地址和变量是两个基本但非常重要的概念。 1. 变…

动手学图神经网络(4):利用图神经网络进行图分类

利用图神经网络进行图分类:从理论到实践 引言 在之前的学习中,大家了解了如何使用图神经网络(GNNs)进行节点分类。本次教程将深入探讨如何运用 GNNs 解决图分类问题。图分类是指在给定一个图数据集的情况下,根据图的一些结构属性对整个图进行分类,而不是对图中的节点进…