Linux下配置环境变量以及java安装路径查找

以配置java环境变量为例

一、查看java的安装路径

1、which java
[root@centos-linux-1 ~]# which java
/usr/bin/java    

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

2、whereis java
[root@centos-linux-1 ~]# 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的文件目录,并非是安装路径

2、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的依赖包,并非安装路径

3、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

[root@centos-linux-1 ~]# ls -lrt /usr/bin/java
lrwxrwxrwx. 1 root root 22 11月 24 14:21 /usr/bin/java -> /etc/alternatives/java
[root@centos-linux-1 ~]# ls -lrt /etc/alternatives/java
lrwxrwxrwx. 1 root root 73 11月 24 14:21 /etc/alternatives/java -> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-1.el7_9.x86_64/jre/bin/java
ll /usr/lib/jvm/
[root@centos-linux-1 jvm]# ll /usr/lib/jvm/
总用量 12
lrwxrwxrwx. 1 root root   26 11月 24 14:21 java -> /etc/alternatives/java_sdk
drwxr-xr-x. 4 root root 4096 11月 23 19:41 java-1.7.0-openjdk-1.7.0.171-2.6.13.2.el7.x86_64
lrwxrwxrwx. 1 root root   32 11月 24 14:21 java-1.8.0 -> /etc/alternatives/java_sdk_1.8.0
lrwxrwxrwx. 1 root root   40 11月 24 14:21 java-1.8.0-openjdk -> /etc/alternatives/java_sdk_1.8.0_openjdk
drwxr-xr-x. 3 root root 4096 4月  11 2018 java-1.8.0-openjdk-1.8.0.161-2.b14.el7.x86_64
drwxr-xr-x. 7 root root 4096 11月 24 14:21 java-1.8.0-openjdk-1.8.0.312.b07-1.el7_9.x86_64
lrwxrwxrwx. 1 root root   34 11月 24 14:21 java-openjdk -> /etc/alternatives/java_sdk_openjdk
lrwxrwxrwx. 1 root root   21 11月 24 14:21 jre -> /etc/alternatives/jre
lrwxrwxrwx. 1 root root   27 11月 23 19:41 jre-1.7.0 -> /etc/alternatives/jre_1.7.0
lrwxrwxrwx. 1 root root   35 11月 23 19:41 jre-1.7.0-openjdk -> /etc/alternatives/jre_1.7.0_openjdk
lrwxrwxrwx. 1 root root   52 11月 23 19:41 jre-1.7.0-openjdk-1.7.0.171-2.6.13.2.el7.x86_64 -> java-1.7.0-openjdk-1.7.0.171-2.6.13.2.el7.x86_64/jre
lrwxrwxrwx. 1 root root   27 11月 24 14:21 jre-1.8.0 -> /etc/alternatives/jre_1.8.0
lrwxrwxrwx. 1 root root   35 11月 24 14:21 jre-1.8.0-openjdk -> /etc/alternatives/jre_1.8.0_openjdk
lrwxrwxrwx. 1 root root   51 11月 24 14:21 jre-1.8.0-openjdk-1.8.0.312.b07-1.el7_9.x86_64 -> java-1.8.0-openjdk-1.8.0.312.b07-1.el7_9.x86_64/jre
lrwxrwxrwx. 1 root root   29 11月 24 14:21 jre-openjdk -> /etc/alternatives/jre_openjdk

二、需要配置的环境变量

  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文件
[root@centos-linux-1 mrzhuang]# vi /etc/profile
export JAVA_HOME=/usr/lib/jvm/java-1.8.0
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@centos-linux-1 mrzhuang]# . /etc/profile
[root@centos-linux-1 mrzhuang]# echo $JAVA_HOME
/usr/lib/jvm/java-1.8.0
2、修改.bash_profile文件
[root@centos-linux-1 mrzhuang]# vi .bash_profile
export JAVA_HOME=/usr/lib/jvm/java-1.8.0
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@centos-linux-1 ~]# export JAVA_HOME=/usr/lib/jvm/java-1.8.0
[root@centos-linux-1 ~]# export PATH=$JAVA_HOME/bin:$PATH
[root@centos-linux-1 ~]# export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

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

三、测试

1、vi Test.java 创建类Test java文件
[root@centos-linux-1 opt]# vi Test.java 
public class Test {
public static void main(String args[]) {
System.out.println("A new jdk test !");
}
}
2、javac Test.java 编译成字节码文件
[root@centos-linux-1 opt]# javac Test.java
3、java Test 运行程序
[root@centos-linux-1 opt]# java Test
A new jdk test !
  • 6
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值