如何查找YUM安装的JAVA_HOME环境变量详解

 更新时间:2017年10月27日 09:44:56   作者:铁锚   我要评论
这篇文章主要给大家介绍了关于如何查找YUM安装的JAVA_HOME环境变量的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。

前言

开发中很多需要javac 的程序依赖 JAVA_HOME环境变量.

如果是手工下载源码安装的JDK,很容易知道JAVA_HOME的目录. 例如

1
whereis javac
1
javac: /usr/local/jdk1.8.0_74/bin/javac

那么对应的 JAVA_HOME 为 /usr/local/jdk1.8.0_74.

而 YUM 安装的 jdk, 不需要配置 PATH, 因为已经自动使用软连接做好了。

1
2
echo $PATH
javac -version

1. YUM安装JDK

1.1 查找 可用的JDK

1
sudo yum list -y java*

然后可用看到类似下面这样的输出(省略部分…):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
...
Available Packages
 
java-1.7.0-openjdk.x86_64
java-1.7.0-openjdk-demo.x86_64
java-1.7.0-openjdk-devel.x86_64
java-1.7.0-openjdk-javadoc.noarch
java-1.7.0-openjdk-src.x86_64
java-1.8.0-openjdk.x86_64
java-1.8.0-openjdk-debug.x86_64
java-1.8.0-openjdk-demo.x86_64
java-1.8.0-openjdk-demo-debug.x86_64
java-1.8.0-openjdk-devel.x86_64
java-1.8.0-openjdk-devel-debug.x86_64
java-1.8.0-openjdk-headless.x86_64
java-1.8.0-openjdk-headless-debug.x86_64
java-1.8.0-openjdk-javadoc.noarch
java-1.8.0-openjdk-javadoc-debug.noarch
java-1.8.0-openjdk-src.x86_64
java-1.8.0-openjdk-src-debug.x86_64

根据需要, 安装 JDK1.7 或者 JDK1.8, 当前1.8已经很稳定了,推荐JDK1.8

1.2 安装 JDK

安装 JDK1.7 的命令如下:

1
sudo yum install -y java-1.7.0-openjdk*

安装 JDK1.8 的命令如下:

1
sudo yum install -y java-1.8.0-openjdk*

2. 查找 JDK1.7 的 JAVA_HOME

2.1 查找 javac :

1
whereis javac
1
javac: /usr/bin/javac /usr/share/man/man1/javac.1.gz

可以看到, /usr/bin/javac, 一般来说 /usr/bin 默认加入了 PATH 路径,所以可以直接执行.

然后一路跟踪,看软连接指向的位置( ll 是 ls -l 的快捷命令):

1
ll /usr/bin/javac
1
… /usr/bin/javac -> /etc/alternatives/javac

然后继续:

1
ll /etc/alternatives/javac

JDK1.7 大致是这个样子:

1
… /etc/alternatives/javac -> /usr/lib/jvm/java-1.7.0-openjdk.x86_64/bin/javac

再继续:

1
ll /usr/lib/jvm/java-1.7.0-openjdk.x86_64/bin/javac

不再是软连接。 结合这个地址可以分析得到, JAVA_HOME 的值应该是 /usr/lib/jvm/java-1.7.0-openjdk.x86_64。

当然,使用这个地址就可以了!

如果继续下一步查看,可以看到具体的版本号:

1
ll /usr/lib/jvm/java-1.7.0-openjdk.x86_64
1
… /usr/lib/jvm/java-1.7.0-openjdk.x86_64 -> java-1.7.0-openjdk-1.7.0.79.x86_64

使用下面的命令即可看到真实的目录, 但一般不使用下面的具体版本号,升级什么的可能会出问题。

1
ll /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.79.x86_64

具体内容类似下面这样:

1
ll /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.79.x86_64
1
2
3
4
5
6
7
8
9
10
11
12
total 43952
-r--r--r-- 1 root root 1503 Apr 15 2015 ASSEMBLY_EXCEPTION
drwxr-xr-x 2 root root 4096 Dec 25 2015 bin
drwxr-xr-x 10 root root 4096 May 2 2015 demo
drwxr-xr-x 3 root root 4096 May 2 2015 include
drwxr-xr-x 4 root root 4096 May 2 2015 jre
drwxr-xr-x 3 root root 4096 May 3 2015 lib
-r--r--r-- 1 root root 19263 Apr 15 2015 LICENSE
drwxr-xr-x 8 root root 4096 May 2 2015 sample
-rw-r--r-- 1 root root 44775741 Apr 15 2015 src.zip
drwxr-xr-x 2 root root 4096 May 2 2015 tapset
-r--r--r-- 1 root root 172264 Apr 15 2015 THIRD_PARTY_README

2.2 将 JAVA_HOME 加入环境变量:

1
export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk.x86_64

当然, export 只是临时的。下次重启后就没了。

可以添加到rc文件,比如 /etc/rc.d/rc.local 之中。

当然,可以使用 vim 编辑, 或者是 echo >> 命令

1
2
3
4
jhometip='# add JAVA_HOME'
jhomescript='export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk.x86_64'
sudo echo $jhometip >> /etc/rc.d/rc.local
sudo echo $jhomescript >> /etc/rc.d/rc.local

这样一般就设置好了。

3. 查找 JDK1.8 的 JAVA_HOME

3.1 查找 javac :

1
whereis javac
1
javac: /usr/bin/javac /usr/share/man/man1/javac.1.gz

可以看到, /usr/bin/javac, 一般来说 /usr/bin 默认加入了 PATH 路径,所以可以直接执行.

然后一路跟踪,看软连接指向的位置( ll 是 ls -l 的快捷命令):

1
ll /usr/bin/javac
1
… /usr/bin/javac -> /etc/alternatives/javac

然后继续:

1
ll /etc/alternatives/javac

JDK1.8 大致是这个样子:

1
2
3
… /etc/alternatives/javac ->
 
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.102-1.b14.el7_2.x86_64/bin/javac

再继续:

1
ll /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.102-1.b14.el7_2.x86_64/bin/javac

不再是软连接。 结合这个地址可以分析得到, JAVA_HOME 的值应该是 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.102-1.b14.el7_2.x86_64。

使用这个地址就可以了!

如果继续下一步查看:

1
ll /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.102-1.b14.el7_2.x86_64

具体内容类似下面这样:

1
2
3
4
5
6
total 16
drwxr-xr-x. 2 root root 4096 Sep 21 23:08 bin
drwxr-xr-x. 3 root root 4096 Sep 21 23:08 include
drwxr-xr-x. 4 root root 26 Sep 21 23:08 jre
drwxr-xr-x. 3 root root 4096 Sep 21 23:08 lib
drwxr-xr-x. 2 root root 4096 Sep 21 23:08 tapset

3.2 查看软连接:

查看 jvm 目录:

1
ll /usr/lib/jvm

则可以看到很多软连接:

1
2
3
4
5
6
7
8
java -> /etc/alternatives/java_sdk
java-1.8.0 -> /etc/alternatives/java_sdk_1.8.0
java-1.8.0-openjdk -> /etc/alternatives/java_sdk_1.8.0_openjdk
java-1.8.0-openjdk-1.8.0.111-1.b15.el7_2.x86_64
java-1.8.0-openjdk-1.8.0.111-1.b15.el7_2.x86_64-debug
java-openjdk -> /etc/alternatives/java_sdk_openjdk
jre -> /etc/alternatives/jre
jre-1.8.0 -> /etc/alternatives/jre_1.8.0

类似这样的,不管 jre 开头的部分,可以看到 /etc/alternatives/java_sdk_1.8.0 这样的目录;

执行 :

1
2
ll /etc/alternatives/java_sdk_1.8.0
ll /etc/alternatives/java_sdk

然后发现, 这一堆链接都是指向上面的 JAVA_HOME 路径:

1
2
/etc/alternatives/java_sdk_1.8.0 ->
 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-1.b15.el7_2.x86_64

所以,可以使用其中之一作为 JAVA_HOME 环境变量的值。

说明: 既然安装了,基本上服务器上就不会频繁变更. 如果有变更,则查找并修正即可。

3.3 将 JAVA_HOME 加入环境变量:

1
export JAVA_HOME=/etc/alternatives/java_sdk_1.8.0

当然, export 只是临时的。下次重启后就没了。

可以添加到rc文件,比如 /etc/rc.d/rc.local 之中。

当然,可以使用 vim 编辑, 或者是 echo >> 命令

1
2
3
4
jhometip='# add JAVA_HOME'
jhomescript='export JAVA_HOME=/etc/alternatives/java_sdk_1.8.0'
sudo echo $jhometip >> /etc/rc.d/rc.local
sudo echo $jhomescript >> /etc/rc.d/rc.local

这样一般就设置好了。

最后如果Java中设置JAVA_HOME无效可以参考://www.jb51.net/article/122632.htm

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

如对本文有所疑义或者对本文内容提供补充建议,请联系小编,本站会保留修改者版权

原文链接:http://blog.csdn.net/renfufei/article/details/52621034

微信公众号搜索 “ 脚本之家 ” ,选择关注

程序猿的那些事、送书等活动等着你

相关文章

原文地址:https://www.jb51.net/article/126921.htm

如何查找YUM安装的JAVA_HOME环境变量详解的更多相关文章

  1. net core体系-web应用程序-4net core2.0大白话带你入门-5asp.net core环境变量详解

    asp.net core环境变量详解   环境变量详解 Windows操作系统的环境变量在哪设置应该都知道了. Linux(centos版本)的环境变量在/etc/profile里面进行设置.用户级的 ...

  2. Maya 常用环境变量详解

    Maya 常用环境变量详解 前言: Maya 的环境变量让用户可以很方便的自定义 Maya 的功能. 在 Maya 的 Help 帮助文档中有专门的一个章节< Environment Varia ...

  3. asp.net core环境变量详解

    环境变量详解 Windows操作系统的环境变量在哪设置应该都知道了. Linux(centos版本)的环境变量在/etc/profile里面进行设置.用户级的环境变量在其它文件里面,不多说了,有兴趣的 ...

  4. 【转】asp.net core环境变量详解

    asp.net core环境变量详解 环境变量详解 Windows操作系统的环境变量在哪设置应该都知道了. Linux(centos版本)的环境变量在/etc/profile里面进行设置.用户级的环境 ...

  5. PATH环境变量和CLASSPATH环境变量详解

    大凡装过JDK的人都知道要安装完成后要设置环境变量,可是为什么要设置环境变量呢?环境变量有什么作用? 1)PATH详解: 计算机安装JDK之后,输入“javac”“java”之类的命令是不能马上被计算 ...

  6. java环境变量详解---找不到或无法加载主类

    默认安装在C:\ProgramFiles\Java\jdk1.7.0目录下环境变量配置为PATH=.;%JAVA_HOME%\binCLASSPATH=.;%JAVA_HOME%\lib\dt.jar ...

  7. Java环境变量详解

    自己总结些再加抄点: 安装JDK后要配置环境变量,主要有三个: 1 JAVA_HOME ->为JDK的安装目录,如:F:\JAVA\jdk1.6.0_04 2 CLASSPATH ->到哪 ...

  8. Windows下PATH等环境变量详解(转载)

    本文转载自http://legend2011.blog.51cto.com/3018495/553255 在学习JAVA的过程中,涉及到多个环境变量(environment variable)的概念, ...

  9. Windows系统中path环境变量详解

    在学习JAVA的过程中,涉及到多个环境变量(environment variable)的概念,如PATH.正确地配置这些环境变量,是能够顺利学习.开发的前提.而经常出现的问题是:有的学习者能够按照提示 ...

随机推荐

  1. mysql单个表拆分成多个表

    一.横向拆分 create table 新表的名称 select * from 被拆分的表 order by id limit int1,int2 int1为其实位置,int2为几条 注意:这样拆分后 ...

  2. 【学习笔记】PYTHON语言程序设计(北理工 嵩天)

    1 Python基本语法元素 1.1 程序设计基本方法 计算机发展历史上最重要的预测法则     摩尔定律:单位面积集成电路上可容纳晶体管数量约2年翻倍 cpu/gpu.内存.硬盘.电子产品价格等都遵 ...

  3. MySQL的select详细介绍

    MySQL 查询数据 MySQL 数据库使用SQL SELECT语句来查询数据. 你可以通过 mysql> 命令提示窗口中在数据库中查询数据 语法 以下为在MySQL数据库中查询数据通用的 SE ...

  4. Java八大排序之堆排序

    堆排序(英语:Heapsort)是指利用堆这种数据结构所设计的一种排序算法.堆是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点. 根据根结点是否是最 ...

  5. 如何使用和关闭onbeforeunload 默认的浏览器弹窗事件

    Onunload,onbeforeunload都是在刷新或关闭时调用,可以在<script>脚本中通过 window.onunload来指定或者在<body>里指定.区别在于o ...

  6. 【大数据】0002---MongoDB集群自动分离创建新集群

    场景:MongoDB集群运行后,自动产生新的集群 解答:可能没有理解问题,理清思路如下 1.日志分析 2.配置文件检查(日期.版本) 3.网络IP变化 4.github 5.stack overflo ...

  7. ORM基本增删改查

    将上一节建造好的数据库 引入Navicate copy_path找到数据表路径 再用navicat打开 创建好的db不只一张表,其中第一张是我们创建的可以用的表  ,其他都是django自带功能所需表 ...

  8. Nginx on Docker 配置

    docker run -d -p 8082:8082 --name two-nginx -v ~/workplace/nginx/html:/usr/share/nginx/html -v ~/wor ...

  9. Intellij Idea 星云常用配置工具箱

    1. 软件配置篇 1.1 关闭默认打开最近的工程选项 1.2. 修改快捷键 1.3 修改字体 1.4 创建类模板 效果如下: 1.5 创建接口模板 效果同上 2. 插件篇 1.1 省略Getter a ...

  10. GoogleHacking语法篇

    常用GoogleHacking语法: 1.intext:(仅针对Google有效) 把网页中的正文内容中的某个字符作为搜索的条件 2.intitle: 把网页标题中的某个字符作为搜索的条件 3.cac ...