본문 바로가기

OpenJDK to OracleJDK

Linux 에는 OpenJDK 가 기본적으로 깔려 있다.

일반적으로 개발PC 등에서 JAVA 개발을 할 경우 대부분(?) OracleJDK 를 사용할 것이다.

배포 서버에 Spring 작업물을 업로드 하고 나니, 역시나 오류가 발생했다.

처음엔 톰캣이 잘못된줄 알았다. 패키지로 새로 깔았다가 바이너리로 다시 깔았다가... 문제는 OpenJDK 버전이었다.


오픈소스 프로젝트라 그런가 리눅스 패키지에는 OpenJDK 만 사용하는 것 같다.

최신 OpenJDK 를 설치해도 되지만 로컬과 동일하게 OracleJDK 1.8.0 을 바이너리 설치하고 시스템에서 OpenJDK 대신 OracleJDK 를 사용하도록 설정하였다.

Tomcat 을 패키지 설치하면 디펜던시 패키지로 OpenJDK 1.7.0 을 설치하므로 버전체크도 해보고 OracleJDK 로 바꿀 필요가 있는 경우 변경 작업이 필요하다.



1. OracleJDK 바이너리 설치


# java -version
java version "1.7.0_101"
OpenJDK Runtime Environment (amzn-2.6.6.1.67.amzn1-x86_64 u101-b00)
OpenJDK 64-Bit Server VM (build 24.95-b01, mixed mode)
 
# cd /usr/local/src
# wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u92-b14/jdk-8u92-linux-x64.tar.gz
# tar zxvf jdk-8u92-linux-x64.tar.gz
# mv jdk1.8.0_92 /usr/local/
# ln -s /usr/local/jdk1.8.0_92 /usr/local/java
cs



2. 환경 변수 설정


# vi /etc/profile
JAVA_HOME=/usr/local/java
PATH=$PATH:/usr/local/java/bin:/usr/local/java/jre/bin
export PATH
 
# source /etc/profile
cs



3. 시스템에서 사용할 java 지정


# alternatives --install /usr/bin/java java /usr/local/java/bin/java 100
# alternatives --config java
 
There are 2 programs which provide 'java'.
 
  Selection    Command
-----------------------------------------------
*+ 1           /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java
   2           /usr/local/java/bin/java
 
Enter to keep the current selection[+], or type selection number: 2
 
# java -version
java version "1.8.0_92"
Java(TM) SE Runtime Environment (build 1.8.0_92-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.92-b14, mixed mode)
cs



4. 톰캣 설치


# yum install tomcat8
# /etc/init.d/tomcat8 start
cs



5. 브라우저 확인


http://ip:8080