linux下jdk多版本管理


linux下jdk多版本管理

項目開發中,不管是哪種語言都避免不了多個版本環境管理問題(本文雖然以jdk為例來寫的,但不僅限於jdk),如何能做到快速的環境升級與切換確實是一件深思的事!

安裝jdk

實驗安裝兩個版本:

下載
  • wget http://download.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/jdk-8u144-linux-x64.tar.gz
  • wget http://download.oracle.com/otn/java/jdk/7u80-b15/jdk-7u80-linux-x64.tar.gz
安裝

我把它安裝到/opt中。

  • tar -zxvf jdk-7u80-linux-x64.tar.gz
  • 在/opt 創建目錄:sudo mkdir java
  • sudo mv jdk1.7.0_80 /opt/java

jdk8的方式也是一樣。

創建軟連接
  • sudo ln -s jdk1.7.0_80 jdk
  • 默認使用jdk7
更改環境變量
  • echo $PATH 輸出下,其實這個相當於window系統下的path

  • cd ~ 進入到家目錄

  • sudo vi .bashrc

  • 最后加入:export PATH=/opt/java/jdk/bin:$PATH

  • source .bashrc

  • 此時直接可以輸出:java -verson,為java7

直接在 /etc/profile修改即可:

export JAVA_HOME=/opt/java/
export PATH=$JAVA_HOME/bin:$PATH 

 

如果有天環境要做升級的話,比如要把jdk7升級到jdk8,我們只需要更改軟連接地址:

  • 把原來的jdk軟連接刪除掉
  • 重新生成:sudo ln -s jdk1.8.0_144 jdk
  • 此時已經升級完成

綜述

以上版本管理的方式在linux中隨處可見,比如python都是采用軟連接的形式。

基於jenv工具管理

  • git clone https://github.com/gcuisinier/jenv.git ~/.jenv
  • cd ~ 會發現多出一個文件夾.jenv,這個就是jenv的軟件包
  • 把jenv目錄導入到環境變量 echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile

    echo 'eval "$(jenv init -)"' >> ~/.bash_profile

    source ~/.bash_profile

此時輸入:jenv 會輸出信息:jenv 0.4.3-18-g66bb5b1

以上已經安裝了jdk,我們只需要把jdk加入到jenv即可:

  • jenv add /opt/jdk1.7.0_80
  • jenv add /opt/jdk1.8.0_144
看當前使用的java所在路徑

jenv which java

查看可以設置的java版本

jenv versions

使用某個版本的JDK(全局)

jenv global 1.8

去掉某些沒有的版本

jenv remove 1.8.0.144


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM