天天看點

如何查找YUM安裝的JAVA_HOME環境變量詳解

如何查找YUM安裝的JAVA_HOME環境變量詳解

 更新時間:2017年10月27日 09:44:56   作者:鐵錨   我要評論

這篇文章主要給大家介紹了關于如何查找YUM安裝的JAVA_HOME環境變量的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面随着小編來一起學習學習吧。

前言

開發中很多需要javac 的程式依賴 JAVA_HOME環境變量.

如果是手工下載下傳源碼安裝的JDK,很容易知道JAVA_HOME的目錄. 例如

?

1

whereis javac

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

那麼對應的 JAVA_HOME 為 /usr/local/jdk1.8.0_74.

而 YUM 安裝的 jdk, 不需要配置 PATH, 因為已經自動使用軟連接配接做好了。

2

echo $PATH

javac -version

1. YUM安裝JDK

1.1 查找 可用的JDK

sudo yum list -y java*

然後可用看到類似下面這樣的輸出(省略部分…):

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

...

Available Packages

java-

1.7

.

-openjdk.x86_64

java-

1.7

.

-openjdk-demo.x86_64

java-

1.7

.

-openjdk-devel.x86_64

java-

1.7

.

-openjdk-javadoc.noarch

java-

1.7

.

-openjdk-src.x86_64

java-

1.8

.

-openjdk.x86_64

java-

1.8

.

-openjdk-debug.x86_64

java-

1.8

.

-openjdk-demo.x86_64

java-

1.8

.

-openjdk-demo-debug.x86_64

java-

1.8

.

-openjdk-devel.x86_64

java-

1.8

.

-openjdk-devel-debug.x86_64

java-

1.8

.

-openjdk-headless.x86_64

java-

1.8

.

-openjdk-headless-debug.x86_64

java-

1.8

.

-openjdk-javadoc.noarch

java-

1.8

.

-openjdk-javadoc-debug.noarch

java-

1.8

.

-openjdk-src.x86_64

java-

1.8

.

-openjdk-src-debug.x86_64

根據需要, 安裝 JDK1.7 或者 JDK1.8, 目前1.8已經很穩定了,推薦JDK1.8

1.2 安裝 JDK

安裝 JDK1.7 的指令如下:

sudo

yum

install

-y java-1.7.0-openjdk*

安裝 JDK1.8 的指令如下:

sudo

yum

install

-y java-1.8.0-openjdk*

2. 查找 JDK1.7 的 JAVA_HOME

2.1 查找 javac :

whereis javac

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

可以看到, /usr/bin/javac, 一般來說 /usr/bin 預設加入了 PATH 路徑,是以可以直接執行.

然後一路跟蹤,看軟連接配接指向的位置( ll 是 ls -l 的快捷指令):

ll /usr/bin/javac

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

然後繼續:

ll /etc/alternatives/javac

JDK1.7 大緻是這個樣子:

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

再繼續:

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。

當然,使用這個位址就可以了!

如果繼續下一步檢視,可以看到具體的版本号:

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

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

使用下面的指令即可看到真實的目錄, 但一般不使用下面的具體版本号,更新什麼的可能會出問題。

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

具體内容類似下面這樣:

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

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 加入環境變量:

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

當然, export 隻是臨時的。下次重新開機後就沒了。

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

當然,可以使用 vim 編輯, 或者是 echo >> 指令

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 :

whereis javac

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

ll /usr/bin/javac

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

ll /etc/alternatives/javac

JDK1.8 大緻是這個樣子:

… /etc/alternatives/javac ->

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

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。

使用這個位址就可以了!

如果繼續下一步檢視:

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

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 目錄:

ll /usr/lib/jvm

則可以看到很多軟連接配接:

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 這樣的目錄;

執行 :

ll /etc/alternatives/java_sdk_1.8.0

ll /etc/alternatives/java_sdk

然後發現, 這一堆連結都是指向上面的 JAVA_HOME 路徑:

/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 加入環境變量:

export JAVA_HOME=/etc/alternatives/java_sdk_1.8.0

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

總結

以上就是這篇文章的全部内容了,希望本文的内容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支援。

<div class="art_xg">
                    <h4>您可能感興趣的文章:</h4><ul><li><a href="/article/172538.htm" title="CentOS8 安裝 jdk8 / java8的教程(推薦)" target="_blank">CentOS8 安裝 jdk8 / java8的教程(推薦)</a></li><li><a href="/article/159009.htm" title="NetBeans安裝提示neatbeans cannot find java 1.8 or higher" target="_blank">NetBeans安裝提示neatbeans cannot find java 1.8 or higher</a></li><li><a href="/article/137412.htm" title="Java新手環境搭建 Tomcat安裝配置教程" target="_blank">Java新手環境搭建 Tomcat安裝配置教程</a></li><li><a href="/article/137409.htm" title="Java新手環境搭建 JDK8安裝配置教程" target="_blank">Java新手環境搭建 JDK8安裝配置教程</a></li><li><a href="/article/149422.htm" title="IntelliJ IDEA報錯Error:java: Compilation failed: internal java compiler error的解決辦法" target="_blank">IntelliJ IDEA報錯Error:java: Compilation failed: internal java compiler error的解決辦法</a></li><li><a href="/article/149419.htm" title="IntelliJ IDEA引入第三方jar包或檢視Java源碼的時候報decompiled.class file bytecode version:52.0(java 8)錯誤的解決辦法" target="_blank">IntelliJ IDEA引入第三方jar包或檢視Java源碼的時候報decompiled.class file bytecode version:52.0(java 8)錯誤的解決辦法</a></li><li><a href="/article/149393.htm" title="IntelliJ IDEA中折疊所有Java代碼,再也不怕大段的代碼了" target="_blank">IntelliJ IDEA中折疊所有Java代碼,再也不怕大段的代碼了</a></li><li><a href="/article/174269.htm" title="Java開發工具IntelliJ IDEA安裝圖解" target="_blank">Java開發工具IntelliJ IDEA安裝圖解</a></li></ul>
                    </div>
					<div style="padding: 10px 0 20px 0;color:red;font-weight:bold;">如對本文有所疑義或者對本文内容提供補充建議,請聯系小編<a href="http://wpa.qq.com/msgrd?v=3&amp;uin=2998481778&amp;site=jb51net&amp;menu=yes" target="_blank"><img border="0" src="https://pub.idqqimg.com/qconn/wpa/button/button_111.gif" alt="點選這裡給我發消息" title="點選這裡給我發消息"></a>,本站會保留修改者版權</div><div class="lbd_bot clearfix">
					<script async="" src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><ins class="adsbygoogle" style="display:inline-block;width:728px;height:90px" data-ad-client="ca-pub-6384567588307613" data-ad-slot="3921475131"></ins><script>(adsbygoogle = window.adsbygoogle || []).push({});</script>

					</div>
				<p>原文連結:http://blog.csdn.net/renfufei/article/details/52621034</p><div class="jb51ewm"><div class="fl"><img src="//files.jb51.net/skin/2018/images/jb51ewm.png"></div><div class="fr"><p>微信公衆号搜尋 “ <span>腳本之家</span> ” ,選擇關注</p><p>程式猿的那些事、送書等活動等着你</p></div></div></div><!--endmain-->
				<div class="tags clearfix">
					<i class="icon-tag"></i>
					<ul class="meta-tags">
					  <li class="tag item"><a href="http://common.jb51.net/tag/yum/1.htm" target="_blank" title="搜尋關于yum的文章" rel="nofollow">yum</a></li>
           
  • java
  • java home環境變量
  • </ul>
    				</div>
    				<div class="lbd clearfix">
    					
    
    				</div>
    				<div id="shoucang"></div>
    				<div class="xgcomm clearfix">
    					<h2>相關文章</h2>
    					<ul><li class="lbd clearfix"><div style=""><iframe width="820" frameborder="0" height="120" scrolling="no" src="https://pos.baidu.com/s?hei=120&amp;wid=820&amp;di=u4806172&amp;ltu=https%3A%2F%2Fwww.jb51.net%2Farticle%2F126921.htm&amp;psi=2ddabb725223b01435b6859881ac4611&amp;psr=1366x768&amp;cec=GBK&amp;dai=2&amp;tcn=1576417769&amp;cce=true&amp;col=en-US&amp;ari=2&amp;dis=0&amp;chi=2&amp;tlm=1576417768&amp;ps=6436x89&amp;dc=3&amp;ti=%E5%A6%82%E4%BD%95%E6%9F%A5%E6%89%BEYUM%E5%AE%89%E8%A3%85%E7%9A%84JAVA_HOME%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F%E8%AF%A6%E8%A7%A3_java_%E8%84%9A%E6%9C%AC%E4%B9%8B%E5%AE%B6&amp;cfv=0&amp;cmi=4&amp;ant=0&amp;drs=1&amp;ccd=24&amp;prot=2&amp;par=1366x738&amp;dtm=HTML_POST&amp;dri=0&amp;pis=-1x-1&amp;pcs=1349x635&amp;tpr=1576417768544&amp;cpl=3&amp;exps=111000&amp;pss=1349x7907&amp;cdo=-1&amp;cja=false" hidden="" style="display: none !important;"></iframe></div><script type="text/javascript" src="//jscode.jbzj.com/site/g/bx_d/production/hak_cq.js"></script>
               
  • spring快速入門執行個體教程

    這篇文章主要介紹了spring快速入門執行個體,主要分析了spring的基本配置與控制反轉,對于spring的學習具有一定的參考借鑒價值,需要的朋友可以參考下

    2014-12-12

  • Java多線程程式設計實作socket通信示例代碼

    這篇文章主要介紹了Java多線程程式設計實作socket通信示例代碼,詳細介紹了tcp、udp協定,以及基于socket的Java網絡程式設計的相關内容及代碼示例,代碼測試可用,供大家參考。

    2017-10-10

  • spring+springmvc整合mabytis時mapper注入失敗問題解決方法

    這篇文章主要介紹了spring+springmvc整合mabytis時mapper注入失敗問題解決方法 ,需要的朋友可以參考下

    2017-08-08

  • Java爬蟲抓取視訊網站下載下傳連結

    本文是通過JAVA擷取優酷、洋芋、酷6、6間房等視訊,小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟随小編過來看看吧

    2016-10-10

  • Java源碼解析HashMap簡介

    今天小編就為大家分享一篇關于Java源碼解析HashMap簡介,小編覺得内容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟随小編來看看吧

    2019-01-01

  • navicatdesignquery.sql.bak系統找不到指定路徑錯誤的解決方法

    今天小編就為大家分享一篇關于navicatdesignquery.sql.bak系統找不到指定路徑錯誤的解決方法,小編覺得内容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟随小編來看看吧

    2018-12-12

  • Freemarker如何生成樹形導航菜單(遞歸)

    這篇文章主要為大家詳細介紹了Freemarker采用的的方法生成樹形導航菜單,具有一定的參考價值,感興趣的小夥伴們可以參考一下

    2017-09-09

  • JAVA實作雙邊決策的示例

    本篇文章主要介紹了JAVA實作雙邊決策,介紹了雙邊決策的實作算法,具有一定的參考價值,感興趣的小夥伴們可以參考一下。

  • Java設計模式之工廠模式分析【簡單工廠、工廠方法、抽象工廠】

    這篇文章主要介紹了Java設計模式之工廠模式,結合執行個體形式分析了簡單工廠、工廠方法、抽象工廠等相關功能、實作與使用方法,需要的朋友可以參考下

    2018-04-04

  • 基于Java堆記憶體的10個要點的總結分析

    本篇文章是對Java堆記憶體的10個要點進行了詳細的分析介紹,需要的朋友參考下

    2013-05-05

  • </div>
    				原文位址:https://www.jb51.net/article/126921.htm
    			  </div>           

    繼續閱讀