Linux - Linux下Java安装路径查找;配置Java环境变量

2023-05-16

一、查看Java的安装路径

1、已经安装好了JDK,也配置了环境变量

1、执行 java -version

java -version

出现了版本号,表示安装过了JDK,配置了环境变量

2、在配置过jdk的情况下,执行java -verbose指令,在打印出的文本最后两行可以看到jdk的安装路径为 

/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-1.el7_9.x86_64/jre

java -verbose

2、 未配置JDK环境变量

执行 find / -name jre 来进行搜索

find / -name jre

window下我们找寻起来可能要麻烦些,在不同盘下输入DIR /S jre 来进行搜索

3、其他查找方法

1、which java

[root@xx ~]# which java
/usr/bin/java    

结果为执行路径,非安装路径

2、whereis java

[root@xx ~]# whereis java
java: /usr/bin/java /usr/lib/java /etc/java /usr/share/java /opt/jdk1.8.0_311/bin/java /usr/share/man/man1/java.1.gz

结果为包含java的文件目录,并非是安装路径

3、rpm -qa | grep java

java-1.8.0-openjdk-headless-1.8.0.312.b07-1.el7_9.x86_64
javapackages-tools-3.4.1-11.el7.noarch
tzdata-java-2021e-1.el7.noarch
javassist-3.16.1-10.el7.noarch
java-1.7.0-openjdk-headless-1.7.0.171-2.6.13.2.el7.x86_64
java-1.8.0-openjdk-1.8.0.312.b07-1.el7_9.x86_64
java-1.7.0-openjdk-1.7.0.171-2.6.13.2.el7.x86_64
javamail-1.4.6-8.el7.noarch
java-1.8.0-openjdk-devel-1.8.0.312.b07-1.el7_9.x86_64
python-javapackages-3.4.1-11.el7.noarch

如果是使用rpm包安装jdk的结果,结果为jdk的依赖包,并非安装路径

4、ls -lrt

ls命令:
-a:显示所有文件及目录 (ls内定将文件名或目录名称开头为"."的视为隐藏档,不会列出)
-l:除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
-r:将文件以相反次序显示(原定依英文字母次序)
-t:将文件依建立时间之先后次序列出
-A:同 -a ,但不列出 “.” (目前目录) 及 “…” (父目录)
-F:在列出的文件名称后加一符号;例如可执行档则加 "", 目录则加 “/”
-R:若目录下有文件,则以下之文件亦皆依序列出

ls -lrt:

即将文件以建立时间先后顺序的倒叙排列显示,从下面的结果可以看出,/usr/bin/java是执行路径,那么继续执行后面的文件路径,即可找到JDK的安装路径为

/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-1.el7_9.x86_64/jre

[root@xx ~]# ls -lrt /usr/bin/java
lrwxrwxrwx. 1 root root 22 Mar 31 16:23 /usr/bin/java -> /etc/alternatives/java
[root@xx ~]# ls -lrt /etc/alternatives/java
lrwxrwxrwx. 1 root root 73 Mar 31 16:23 /etc/alternatives/java -> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-1.el7_9.x86_64/jre/bin/java

ll /usr/lib/jvm/

[root@xx ~]# ll /usr/lib/jvm/
total 0
drwxr-xr-x. 4 root root 100 Mar 31 15:51 java-1.7.0-openjdk-1.7.0.261-2.6.22.2.el7_8.x86_64
drwxr-xr-x. 3 root root  17 Mar 31 15:52 java-1.8.0-openjdk-1.8.0.322.b06-1.el7_9.x86_64
lrwxrwxrwx. 1 root root  21 Mar 31 16:23 jre -> /etc/alternatives/jre
lrwxrwxrwx. 1 root root  27 Mar 31 16:23 jre-1.7.0 -> /etc/alternatives/jre_1.7.0
lrwxrwxrwx. 1 root root  35 Mar 31 16:23 jre-1.7.0-openjdk -> /etc/alternatives/jre_1.7.0_openjdk
lrwxrwxrwx. 1 root root  54 Mar 31 15:51 jre-1.7.0-openjdk-1.7.0.261-2.6.22.2.el7_8.x86_64 -> java-1.7.0-openjdk-1.7.0.261-2.6.22.2.el7_8.x86_64/jre
lrwxrwxrwx. 1 root root  27 Mar 31 16:22 jre-1.8.0 -> /etc/alternatives/jre_1.8.0
lrwxrwxrwx. 1 root root  35 Mar 31 16:22 jre-1.8.0-openjdk -> /etc/alternatives/jre_1.8.0_openjdk
lrwxrwxrwx. 1 root root  51 Mar 31 15:52 jre-1.8.0-openjdk-1.8.0.322.b06-1.el7_9.x86_64 -> java-1.8.0-openjdk-1.8.0.322.b06-1.el7_9.x86_64/jre
lrwxrwxrwx. 1 root root  29 Mar 31 16:23 jre-openjdk -> /etc/alternatives/jre_openjdk


二、配置Java环境变量

1、PATH环境变量。作用是指定命令搜索路径,在shell下面执行命令时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序。我们需要把 jdk安装目录下的bin目录增加到现有的PATH变量中,bin目录中包含经常要用到的可执行文件如javac/java/javadoc等待,设置好 PATH变量后,就可以在任何目录下执行javac/java等工具了


2、CLASSPATH环境变量。作用是指定类搜索路径,要使用已经编写好的类,前提当然是能够找到它们了,JVM就是通过CLASSPTH来寻找类的。我们 需要把jdk安装目录下的lib子目录中的dt.jar和tools.jar设置到CLASSPATH中,当然,当前目录“.”也必须加入到该变量中


3、JAVA_HOME环境变量。它指向jdk的安装目录。Eclipse/NetBeans/Tomcat等软件就是通过搜索JAVA_HOME变量来找到并使用安装好的jdk。

三种方法:

1、修改/etc/profile文件

编辑 /etc/profile 文件,在文件末尾添加

[root@xx ~]# vim /etc/profile
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-1.el7_9.x86_64/jre
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export是把这三个变量导出为全局变量

让/etc/profile文件修改后立即生效的方法:

1、# . /etc/profile

注:. 和 /etc/profile 有空格

2、# source /etc/profile

Linux中source命令的用法

source命令也称为“点命令”,也就是一个点符号(.);source命令通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录

用法:

source filename 或 . filename

如: 

[root@xx ~]# . /etc/profile

或

[root@xx ~]# source /etc/profile

查看JAVA_HOME环境变量  echo $JAVA_HOME

[root@xx ~]# echo $JAVA_HOME
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-1.el7_9.x86_64/jre

2、修改.bash_profile文件

[root@xx ~]# vi .bash_profile
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-1.el7_9.x86_64/jre
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

注:在目录下可以用vi .bash_profile,在其他目录下使用vi ~/.bash_profile

3、直接在shell终端下设置变量

[root@xx ~]# export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-1.el7_9.x86_64/jre
[root@xx ~]# export PATH=$JAVA_HOME/bin:$PATH
[root@xx ~]# export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

注:此命令只能在当前shell终端终端有效,只是临时的

三、测试

1、vi Test.java 创建类Test java文件

[root@xx opt]# vi Test.java 
public class Test {
    public static void main(String args[]) {
        System.out.println("Hello World!");
    }
}

2、javac Test.java 编译成字节码文件

[root@xx opt]# javac Test.java

3、java Test 运行程序

[root@xx opt]# java Test
Hello World!

参考文章

Linux下配置环境变量以及java安装路径查找_Mrzhuangr的博客-CSDN博客_linux安装java环境变量

Linux下配置JAVA 环境变量及查看JDK安装路径_慕城南风的博客-CSDN博客_linux查看java环境变量

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux - Linux下Java安装路径查找;配置Java环境变量 的相关文章

随机推荐

  • 数据库优化法则

    1 有可能的话 xff0c 用一个语句处理多个更新 xff1b 尽量减少对同一个表的重复访问 2 易识别的语句有助于定位性能问题 xff08 例如给SQL语句加注释 xff0c oracle已经解决为sql语句自带注释的问题 xff09 3
  • C/C++/C#是否支持基于string的switch-case??

    C C 43 43 只支持整型值 用字符常量也可以 但编译器事实上也是把字符常量量转化成了整型值的 其实 xff1a C C 43 43 支持 int 和char xff0c switch语句中的case只能是常量 是整型 字符或枚举三种
  • 虚拟机下linux连接外网

    1虚拟机点编辑 选择虚拟网络编辑器 2按照下图配置 xff0c 注意如果自己以前更改过 xff0c 最好点击还原默认设置 3点击NET设置 xff0c 记住网关IP 这里是192 168 159 2 4选择虚拟机 设置网络适配器为NAT模式
  • Sublime Text 2.02注册码

    BEGIN LICENSE Andrew Weber Single User License EA7E 855605 813A03DD 5E4AD9E6 6C0EEB94 BC99798F 942194A6 02396E98 E62C997
  • 表格复制粘贴次数过多导致卡死解决方案

    卡死原因 每粘贴一次 for循环 一次 就会呈现几何的增加 每个字段部分字母出现重复的 解决方案 我再写个 循环 他每增加 重复的字段 我就重复的给删了 span class token comment 循环列表进行计算 span span
  • Ansible使用记录(一)——介绍、安装及简单使用

    文章目录 系列开篇说明正文环境介绍安装Linux版本安装官方版本安装 基本概念介绍关于互信关于inventory 总结 系列开篇说明 此次新开的一个自动化更新系列 xff0c 主要是因为最近工作中用的比较多 xff0c 而且Ansible在
  • Ubuntu下locale文件

    March 7 2015 11 44 PM locale文件 关于locale文件的设定 locale 是国际化与本土化过程中的一个非常重要的概念 xff0c 个人认为 xff0c 对于中文用户来说 xff0c 通常会涉及到的国际化或者本土
  • 在执行批处理时出现错误。错误消息为: 引发类型为“System.OutOfMemoryException”的异常。

    1 打开的SQL脚本页签太多 xff0c 关掉没用的页签窗口 eg xff1a 下图 xff0c 开了N多个页签窗口 xff0c 把当前不需要的保存关掉 xff1b 再执行你的语句 2 可能sql取的数据量太大了 超出内存的空间
  • SQL语句--截取完整日期中的 年、月、日

    SQL语句 截取完整日期中的 年 月 日 截取日期 xff1a 几号 span class token keyword SELECT span substring span class token punctuation span span
  • SQL语句--用一个字段下的数据模糊匹配另一个字段的数据

    SQL语句 用一个字段下的数据模糊匹配另一个字段的数据 假设现在手中有 A表 Sno Sname 1 张三 章三 2 里斯 李四 里四 3 王五 王武 B表 Tname 张三 里四 王武 我们要A表的 姓名 与B表的 Tname 模糊匹配
  • SQL--查询:一个字段的一个数值对应另一个字段的多个数值

    查询 xff1a 一个字段的一个数值对应另一个字段的多个数值 举例如下 xff1a span class token comment 查 一个商品 对应 多个仓库 的记录 xff08 注 xff1a 一个商品名称 对应 同样的一个仓库 的记
  • EXCEL--单元格文字行间距如何调整解决方法

    想调整单元格内的行间距 xff1a 1 选中单元格 2 菜单栏 字体 文 选择 显示拼音字段 3 单元格间距拉宽 4 如果还想调大或调小间距 xff0c 字体 文 选择 拼音设置 字体 字号调整即可
  • C语言常见题目汇总(不断更新)(建议收藏)

    前言 xff1a C语言的常见题 xff0c 对大家学习C语言会有一定的帮助 xff0c 不断地会收录新题 xff08 含牛客网的习题 xff09 没有对题型进行分类 xff0c 大家自行挑选对自己有用的题目 如果代码有什么bug xff0
  • datetime型的字段,不想显示为‘1900-01-01‘ ;显示为空值

    当datetime型的字段 xff0c 没有值时 xff0c 会显示为 1900 01 01 目标让这个值显示为空值 字段FDate datetime型 span class token comment 先强制转换 xff0c 再截取为短日
  • Excel-图表数据标签自定义内容

    想实现的效果是自定义编辑数据标签 xff0c 比如当前选中的数据标签只有数值 xff0c 我想实现的数据标签显示为如 xff1a 16朵 当前状态是 xff0c 只有一种方法 xff0c 就是一次编辑每个数据标签的文本框 xff1a 选中一
  • VB17-Excel导出设置格式

    Range Cells 1 1 Cells 1 Icol 1 Font Name 61 黑体 39 设标题为黑体字 Range Cells 1 1 Cells 1 Icol 1 Font Bold 61 True 39 标题字体加粗 Ran
  • 宝藏下载神器,python一键下载B站视频

    B站无疑是一个宝藏地带 xff0c 作为一个宝藏 xff08 老 xff09 男孩 xff0c 请自行忽略 xff08 老 xff09 字 xff0c B站 xff0c 一个学习的天堂 xff0c 请一定珍惜 xff0c 好好使用 xff0
  • Python发邮件脚本,Python调用163邮箱SMTP服务实现邮件群发

    邮件营销 xff0c 一个昔日辉煌 xff0c 如今没落的广告营销方式 xff0c 曾经的恶意广告邮件群发 xff0c 到现在还存留着的大站协议群发 xff0c 可能还是有不少人能够做到正常群发邮件 xff0c 但大概率很多人都不会点开邮件
  • iOS-UICollectionViewCell自适应文字宽度

    自定义cell pragma mark 自定义cell import 34 SelfSizingCollectCell h 34 import 34 Masonry h 34 define itemHeight 60 64 implemen
  • Linux - Linux下Java安装路径查找;配置Java环境变量

    一 查看Java的安装路径 1 已经安装好了JDK xff0c 也配置了环境变量 1 执行 java version java version 出现了版本号 xff0c 表示安装过了JDK xff0c 配置了环境变量 2 在配置过jdk的情