본문 바로가기

TroubleShooting/Java

java version 변경(update-alternatives)

728x90

update-alternatives 명령어를 사용해서 자바 버전 변경


 centOS 에 기본 설치된 open-jdk 를 사용안하고 oracle 홈페이지에서 다운받아서 jdk 를 설치하고자 할때, 이미 설치된 OpenJDK 를 삭제해도 되지만 open-libre 등 자바를 사용하는 어플리케이션이 많아서 dependency 문제가 발생한다. (보통 그런 오피스 제품들을 사용안하기 때문에 다 지워버려도 되겠지만....)


 기존 OpenJDK(1.8.0_65) 를 그대로 두고 오라클 jdk(1.8.0_66) 를 설치하고, update-altenatives 명령어를 이용하면 자바 기본 패스를 변경할 수 있다.

 아래에서 jdk1.8.0_66 부분은 JDK 버전에 따라서 변경될 수 있다.


1. open-JDK 버전 확인(기존 설치된 java)

# java -version

openjdk version "1.8.0_65"

OpenJDK Runtime Environment (build 1.8.0_65-b17)

OpenJDK 64-Bit Server VM (build 25.65-b01, mixed mode)


# ls /usr/lib/jvm

java-1.8.0-openjdk-1.8.0.65-2.b17.el7_1.x86_64/  jre-1.8.0/  jre-1.8.0-openjdk/  jre-1.8.0-openjdk-1.8.0.65-2.b17.el7_1.x86_64/  jre-openjdk/


2. jdk 설치

# wget http://download.oracle.com/otn-pub/java/jdk/8u66-b17/jdk-8u66-linux-x64.tar.gz


# tar xvfz jdk-8u66-linux-x64.tar.gz

jdk1.8.0_66/

....

...


# mv jdk1.8.0_66 /usr/lib/jvm/jdk1.8.0_66

※ JDK 다운로드는 주소가 자주 바뀌기 때문에 홈페이지에서 직접 다운로드 하는 걸 권한다. 


3. update-alternatives 명령어 실행

- /usr/bin 디렉토리에 javac, java 링크를 설정하고(--intall) 기본 패스를 선택한다(--config)

: --config 에서는 다음과 같이 사용하려고하는 오라클 jdk 를 선택한다.

# update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.8.0_66/bin/javac 1

# update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.8.0_66/bin/java 1


# update-alternatives --config javac


There is 1 program that provides 'javac'.


  Selection    Command

-----------------------------------------------

*+ 1           /usr/lib/jvm/jdk1.8.0_66/bin/javac


Enter to keep the current selection[+], or type selection number: 1


# update-alternatives --config java

There are 2 programs which provide 'java'.

  Selection    Command
-----------------------------------------------
*+ 1           /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-2.b17.el7_1.x86_64/jre/bin/java
   2           /usr/lib/jvm/jdk1.8.0_66/bin/java

Enter to keep the current selection[+], or type selection number: 2


4. java 버전 확인

# java -version

java version "1.8.0_66"

Java(TM) SE Runtime Environment (build 1.8.0_66-b17)

Java HotSpot(TM) 64-Bit Server VM (build 25.66-b17, mixed mode)


5. JAVA_HOME 설정

# vi ~/.bash_profile


PATH=$PATH:$HOME/bin:.


export PATH


export M2_HOME=/usr/local/maven

export PATH=${M2_HOME}/bin:${PATH}


export JAVA_HOME="/usr/lib/jvm/jdk1.8.0_66"



참고 사이트

http://www.devsniper.com/install-jdk-8-on-ubuntu/