본문 바로가기

개발/Java

openjdk 1.8 설치하기(Redhat 6.9)

728x90
반응형

oracle jdk 는 현재 라이센스 정책으로 인하여 쉽게 사용할 수 없는 상태이다. (오라클이 java를 인수하면서 예상된 수순 이지만....)

그래서 openjdk 를 설치하여 사용해 보도록하자. (설치라고 하기에도 민망한 그냥 압축풀기이다.;;;)

 

## oracle jdk 와 openjdk 차이점

지단로보트님의 블로그에 정리가 너무 잘되어 있다.

c10106.tistory.com/4075

 

Oracle JDK와 OpenJDK의 차이점

Oracle JDK와 OpenJDK의 차이점 참고 :이 질문은 2014 년입니다. Java 11 OpenJDK와 Oracle JDK가 수렴하고 있습니다. Oracle과 OpenJDK간에 중요한 차이점이 있습니까? 예를 들어 가비지 수집과 다른 JVM 매개 변..

c10106.tistory.com

간랸히 정리하자면

  • 플러그인의 차이
  • 글꼴라이브러리, Java Web Starter 는 oracle jdk 만 존재
  • oracle jdk를 기업에서 사용하면 11부터는 유료, openjdk 는 개인/기업 무료

 

## 개발하면서 경험한 oracle jdk 와 openjdk 차이점

  • 개발환경정보 : CentOS 7.x, Spring Boot 2.x, Apache Commons 등을 이용한 자바 어플리케이션 개발
  • 문제가 됐었던 부분은 JFreeChart를 이용하여 폰트설정을 변경, 이미지를 생성하는 부분에서 oracle jdk 는 문제가 없었으나 openjdk 에서 처음보는 Exception 발생
  • CentOS에서 Font 관련된 rpm 설치 후 문제가 해결되었고 그 외 어플리케이션은 잘 작동되었다.

 

## openjdk 설치

1. openjdk 1.8 다운로드

  • 2020.12.17 기준으로 jdk 최신버전은 jdk18-8u275 이다.
  • github를 접속하여 - jdk-8u275-ojdkbuild-linux-x64.zip 파일을 선택하여 다운로드한다.

github.com/ojdkbuild/contrib_jdk8u-ci/releases

 

Releases · ojdkbuild/contrib_jdk8u-ci

OpenJDK 8 "vanilla" Linux builds done on Travis CI - ojdkbuild/contrib_jdk8u-ci

github.com

 

2. 서버에 zip 파일을 업로드

  • /opt/ 폴더에 FTP를 이용하여 파일업로드
[root@develop opt]# cd /opt
[root@develop opt]# ll
-rw-r--r--  1 root root 107242849 Dec 17 18:56 jdk-8u275-ojdkbuild-linux-x64.zip
drwxr-xr-x. 2 root root      4096 Mar 11  2015 rh
[root@develop opt]#

 

3. 압축을 푼뒤 java --version 명령어 실행

[root@develop opt]# unzip jdk-8u275-ojdkbuild-linux-x64.zip
Archive:  jdk-8u275-ojdkbuild-linux-x64.zip
   creating: jdk-8u275-ojdkbuild-linux-x64/
   creating: jdk-8u275-ojdkbuild-linux-x64/include/
  inflating: jdk-8u275-ojdkbuild-linux-x64/include/jvmti.h
  inflating: jdk-8u275-ojdkbuild-linux-x64/include/classfile_constants.h
  inflating: jdk-8u275-ojdkbuild-linux-x64/include/jni.h
.
. 생략
.
  inflating: jdk-8u275-ojdkbuild-linux-x64/man/man1/rmid.1
  inflating: jdk-8u275-ojdkbuild-linux-x64/man/man1/rmic.1
  inflating: jdk-8u275-ojdkbuild-linux-x64/man/man1/jmap.1
  inflating: jdk-8u275-ojdkbuild-linux-x64/man/man1/javac.1
  inflating: jdk-8u275-ojdkbuild-linux-x64/man/man1/jhat.1
  inflating: jdk-8u275-ojdkbuild-linux-x64/release
finishing deferred symbolic links:
  jdk-8u275-ojdkbuild-linux-x64/jre/lib/amd64/server/libjsig.so -> ../libjsig.so
  jdk-8u275-ojdkbuild-linux-x64/man/ja -> ja_JP.UTF-8
[root@develop opt]#
[root@develop opt]# ls -al
total 104752
drwxr-xr-x.  5 root root      4096 Dec 17 18:58 .
dr-xr-xr-x. 24 root root      4096 Sep 18 11:55 ..
drwxr-xr-x   7 root root      4096 Nov  6 05:27 jdk-8u275-ojdkbuild-linux-x64
-rw-r--r--   1 root root 107242849 Dec 17 18:58 jdk-8u275-ojdkbuild-linux-x64.zip
drwxr-xr-x.  2 root root      4096 Mar 11  2015 rh
[root@develop opt]#
[root@develop opt]# jdk-8u275-ojdkbuild-linux-x64/bin/java -version
openjdk version "1.8.0_275"
OpenJDK Runtime Environment (build 1.8.0_275-01)
OpenJDK 64-Bit Server VM (build 25.275-b01, mixed mode)
[root@develop opt]#
[root@develop opt]# rm -rf jdk-8u275-ojdkbuild-linux-x64.zip

 

4. 심볼릭링크 생성

  • 추후 버전업을 쉽게 하려면 심볼릭링크를 적용하는 것을 추천한다.
[root@develop opt]# ln -s jdk-8u275-ojdkbuild-linux-x64 jdk-8u275
[root@develop opt]# ll
total 104744
lrwxrwxrwx  1 root root        29 Dec 17 20:37 jdk-8u275 -> jdk-8u275-ojdkbuild-linux-x64
drwxr-xr-x  7 root root      4096 Nov  6 05:27 jdk-8u275-ojdkbuild-linux-x64
drwxr-xr-x. 2 root root      4096 Mar 11  2015 rh
[root@develop opt]#

 

5. 환경변수설정

[root@develop opt]# vi ~/.bash_profile

export JAVA_HOME=/opt/jdk-8u275
export PATH=$PATH:$JAVA_HOME/bin

:wq!

[root@develop opt]# source ~/.bash_profile
[root@develop opt]#
[root@develop opt]# java -version
openjdk version "1.8.0_275"
OpenJDK Runtime Environment (build 1.8.0_275-01)
OpenJDK 64-Bit Server VM (build 25.275-b01, mixed mode)
[root@develop opt]#

 

## 에필로그

이제 개발되는 어플리케이션은 최소 jdk11로 가야하지 않을까하고 생각한다.

현재 대부분의 운영환경은 jdk 1.8 인듯하다.

 

728x90
반응형