Linux - Linux下Java安装路径查找;配置Java环境变量
创始人
2024-02-17 17:49:15

一、查看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环境变量

相关内容

热门资讯

埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...