Linux下如何安装JDK

在Linux系统上安装JDK(Java Development Kit),通常包括下面步骤:

  • 下载JDK安装包
  • 解压安装包
  • 配置环境变量等

在介绍安装之前,先厘清一些常用问题。

Linux 下Java 安装到哪个目录比较好?

在Linux系统下,Java(JDK,即Java Development Kit)是可以安装到目录,但通常有几个常见的位置。这些位置主要是基于惯例和方便管理:

  1. 安装路径: /usr/lib/jvm
    • 这是一个常见的目录,用于存放多个版本的Java虚拟机(JVM)。
    • 使用这个目录可以方便地通过符号链接(symlink)或更新环境变量来切换Java版本。
  2. 安装路径:/usr/local/java
    • 这也是一个常用的自定义安装目录,特别是从非包管理器(如直接下载的tar.gz文件)安装Java时。
    • 它位于/usr/local下,这通常用于存放手动安装的软件。
  3. 安装路径:/opt
    • /opt目录用于存放可选的软件包,这些软件包通常由第三方提供,而不是系统的默认包管理器。
    • 如果Java是从一个专门的安装包(如Oracle的RPM或Debian包)安装的,它可能会被放置在/opt/java或类似的子目录下。
  4. 通过包管理器安装
    • 如果使用系统的包管理器(如apt-get、yum、dnf等)来安装Java,JDK通常会被安装在由包管理器管理的标准目录中。
    • 例如,在Debian或Ubuntu上,JDK可能安装在/usr/lib/jvm/java-xx-openjdk-amd64(其中xx是版本号)。

如何是否已经安装Java已经安装的路径

which java

要查看当前Java的安装位置,您可以使用which java命令来找到Java可执行文件的路径,然后使用readlink -f $(which java)来解析该路径到实际的Java安装目录(这可能需要一些额外的步骤来定位到JDK的根目录)。但是,请注意,这只会显示当前在PATH中设置的Java版本,如果有多个Java版本,可能需要检查符号链接或更新环境变量来切换到其他版本。

JDK安装步骤

一、准备工作

  1. 确定JDK版本:根据需要选择合适的JDK版本,如JDK 8、JDK 11、JDK 17等。可以从Oracle官网或其他可信的JDK发布网站下载。

  2. 确定Linux发行版:不同的Linux发行版(如Ubuntu、CentOS等)可能有不同的安装方法和工具。

二、下载JDK安装包

  1. 访问Oracle官网或其他JDK发布网站。
    关于JDK下载的更详细介绍, 可以参考:
    JDK 下载全介绍

  2. 根据系统架构(如x64)和所需版本选择JDK安装包。

  3. 下载JDK安装包,通常是一个.tar.gz.rpm文件。

三、解压JDK安装包

  1. 创建目录:在文件系统中创建一个用于存放JDK的目录,例如/usr/local/java/usr/lib/jvm
  sudo mkdir -p /usr/local/java  # 或 /usr/lib/jvm
  1. 上传安装包:如果使用远程连接工具(如Xshell、Xftp),将下载的JDK安装包上传到Linux系统的指定目录。

  2. 解压安装包:使用tar命令解压.tar.gz文件,或使用rpm命令安装.rpm文件。

 sudo tar -zxvf jdk-xxxx_linux-x64_bin.tar.gz -C /usr/local/java  # 解压到指定目录

或者

sudo rpm -ivh jdk-xxxx_linux-x64.rpm  # 直接安装rpm包

四、配置环境变量

  1. 编辑配置文件:使用文本编辑器(如vivim)编辑系统配置文件,通常是/etc/profile或用户的~/.bashrc文件。
sudo vi /etc/profile  # 或 vi ~/.bashrc
  1. 添加环境变量:在文件末尾添加以下内容,以设置JAVA_HOMEJRE_HOMECLASSPATHPATH变量。
export JAVA_HOME=/usr/local/java/jdk-xxxx  # 替换为实际JDK安装路径
export JRE_HOME=$JAVA_HOME/jreexport 
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/libexport 
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
  1. 保存并退出:按Esc键退出编辑模式,输入:wq保存并退出vivim编辑器。

五、刷新配置文件

  1. 刷新环境变量:使用source命令刷新配置文件,使环境变量生效。
    source /etc/profile  # 或 source ~/.bashrc

六、验证安装

  1. 检查JDK版本:使用java -version命令检查JDK版本,确认安装是否成功。
java -version
  1. 测试Java程序:编写一个简单的Java程序并运行,以进一步验证JDK安装和配置的正确性。

总结

  • Linux 中JDK安装路径一般是: /usr/lib/jvm/urs/local/java
  • 查看JDK的安装路径命令 which java


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

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

相关文章

Apifox Echo - 简单而强大的API测试服务

什么是Apifox Echo? Apifox Echo 是由 Apifox 官方推出的一个专业的接口请求和返回数据服务平台。它的主要目的是帮助开发人员和测试人员更好地学习和测试API接口。 核心特点 简单易用 提供简洁的HTTP请求和响应服务操作界面直观,上手容易服务地址统一: https://echo.api…

Linux笔记---进程:进程等待

1. 进程等待的概念 进程等待是指父进程通过系统调用wait或waitpid来对子进程进行状态检测与回收的功能。 当子进程退出时,如果父进程不读取子进程的退出状态,子进程就会成为僵尸进程,造成内存泄漏的问题。因此,父进程需要调用wa…

常见靶场的搭建

漏洞靶场 渗透测试(漏洞挖掘)切忌纸上谈兵,学习渗透测试(漏洞挖掘)知识的过程中,我们通常需要一个包含漏洞的测试环境来进行训练。而在非授权情况下,对于网站进行渗透测试攻击,是触及…

AtomicIntegerFieldUpdater能否降低内存

1. 代码如下: import java.util.LinkedList; import java.util.List; import java.util.concurrent.atomic.AtomicInteger;public class AtomicIntegerTest {final AtomicInteger startPosition new AtomicInteger(0);final AtomicInteger wrotePosition new Atom…

Jmeter进阶篇(28)结合AI做性能测试:开启性能测试自动化新篇章

📚前言 在当今快速发展的软件测试领域里,性能测试的重要性正在日益凸显。Apache Jmeter 作为一款强大的性能测试工具,目前正在测试行业里被广泛应用。然而,手动编写 Jmeter 的测试脚本,往往是一个繁琐且耗时的过程,我们需要添加请求头,HTTP请求,监听器,断言,再配置…

Java中 HttpURLConnection 和 HttpClient 详解(初学者友好)

Java中HttpURLConnection和HttpClient详解(初学者友好) 在Java开发中,向服务器发送HTTP请求是常见的需求,比如调用API接口或获取远程数据。在JDK中,主要有两种方式实现HTTP通信: 使用 HttpURLConnection&…

从零开始:使用Vite和pnpm搭建Vue3项目实战指南

目录 一、Node.js的下载和安装 1、打开Node.js官网(Node.js — Run JavaScript Everywhere) 2、点击下载按钮,下载完成后,打开文件,一直按Next按钮,直到 3、下载完成后,找到文件所在位置,然…

立创庐山派 K230 RTSP 推流

立创庐山派使用的是K230芯片,按照教程刷了canmv固件,下载canmv ide,使用嘉楠社区的rtsp和wlan例程,修改成连接wifi以及RTSP推流例程 # Description: This example demonstrates how to stream video and audio to the network us…

数据湖的概念(包含数据中台、数据湖、数据仓库、数据集市的区别)--了解数据湖,这一篇就够了

文章目录 一、数据湖概念1、企业对数据的困扰2、什么是数据湖3、数据中台、数据湖、数据仓库、数据集市的区别 网上看了好多有关数据湖的帖子,还有数据中台、数据湖、数据仓库、数据集市的区别的帖子,发现帖子写的都很多,而且专业名词很多&am…

Multkan

以下是KAN class的逐行解释,这个类是一个用于构建基于核激活网络(KAN)的神经网络模型的Python类: class KAN:定义一个名为KAN的类。 Attributes:以下部分列出了KAN类的属性,这些属性描述了类的状态和行为。 grid : int…

【案例】权限管理

数据库表结构 models.py from django.db import modelsclass Permission(models.Model):""" 权限表 """code models.CharField(verbose_name"路由名称", max_length32)name models.CharField(verbose_name"名称", max_le…

springboot kafka在kafka server AUTH变动后consumer自动销毁

前言 笔者使用了kafka用来传输数据,笔者在今年10月写了文章,怎么使用配置化实现kafka的装载:springboot kafka多数据源,通过配置动态加载发送者和消费者-CSDN博客 不过在实际运行中,kafka broker是加密的&#xff0c…

在Windows下编译支持https的wsdl2h

下载源码 在官网下载源码 安装Openssl 下载OpenSSL并安装,安装完成后需要将OpenSSL的路径添加到环境变量中 配置VS 1、打开工程 2、因为前面安装的OpenSLL是64位的,因此需要创建一个X64的配置 打开配置管理器,然后选择新建&#xff0…

【Webgl_glslThreejs】制作流水效果/毛玻璃效果材质

效果预览 shadertory源码 source: https://www.shadertoy.com/view/lldyDs 材质代码 import { DoubleSide, ShaderChunk, ShaderMaterial, TextureLoader } from "three"; /** * * source https://www.shadertoy.com/view/lldyDs */export default fu…

个性化联邦学习方法

基于知识蒸馏的个性化联邦学习方法 基于 Logit 的知识蒸馏方法: 基于 logit 的知识蒸馏方法也是知识蒸馏中的一种常见技术。通常,logit 是指模型输出的原始预测值(未经过 softmax 函数处理的类别分数)。在知识蒸馏中,…

《解锁决策树算法:机器学习领域的实用利器及其多面应用》

一、引言 在当今数据驱动的时代,机器学习正深刻改变着我们生活与工作的方方面面,而决策树算法作为其中的经典算法,凭借直观易懂、高效实用的优势,在众多领域都占据着重要地位。本文将带领大家全方位深入探究决策树算法&#xff0…

vue3+ts+uniapp微信小程序顶部导航栏

这是colorui改的&#xff0c;不用就不用看啦 color-ui(https://docs.xzeu.com/#/) 新建component文件夹创建topNavigation.vue <template><view><view class"cu-custom" :style"height: CustomBar px"><view class"cu-bar…

【AI战略思考13】克服懒惰,保持专注,提升效率,不再焦虑

【AI论文解读】【AI知识点】【AI小项目】【AI战略思考】【AI日记】 引言 我发现自己最近非常懒惰&#xff0c;浪费了很多时间&#xff0c;也容易分心&#xff0c;不够专注&#xff0c;效率低下&#xff0c;且每天都有点焦虑&#xff0c;因此制定了下面的要求和作息时间表。 目…

Unity3D ngui和ugui区别与优缺点详解

前言 Unity3D是一款跨平台的游戏开发引擎&#xff0c;它支持多种平台&#xff0c;包括PC、移动设备和主机。在Unity3D中&#xff0c;UI系统是游戏开发中非常重要的一部分&#xff0c;它负责游戏中的用户界面的显示和交互。 对惹&#xff0c;这里有一个游戏开发交流小组&#…

openssl使用哈希算法生成随机密钥

文章目录 一、openssl中随机数函数**OpenSSL 随机数函数概览**1. **核心随机数函数** **常用函数详解**1. RAND_bytes2. RAND_priv_bytes3. RAND_seed 和 RAND_add4. RAND_status **随机数生成器的熵池****常见用例****注意事项** 二、使用哈希算法生成随机的密钥 一、openssl中…