본문 바로가기
클라우드노트/Linux

linux ubuntu에 jdk설치하기

by 테크한스 2023. 2. 5.

이번에는 linux ubuntu (클라우드서버)에 jdk를 설치해보자

 

jdk 11 이나 jdk16 이상을 설치할 수도 있으나

 

생각보다 아직 jdk8 사용자가 많으며 해당 support 기간도 아직 많이 남아있어

 

향후 몇년간은 jdk8을 여러가지 면에서 사용할 만하다 판단된다

 

1. Java Install  (openjdk 1.8)

 

sudo apt-get update

sudo apt-get install openjdk-8-jdk

아래와 같이 설치되면서 완료된다.

 

Setting up openjdk-8-jre:arm64 (8u352-ga-1~18.04) ...
update-alternatives: using /usr/lib/jvm/java-8-openjdk-arm64/jre/bin/policytool to provide /usr/bin/policytool (policytool) in auto mode
Setting up openjdk-8-jdk:arm64 (8u352-ga-1~18.04) ...
update-alternatives: using /usr/lib/jvm/java-8-openjdk-arm64/bin/appletviewer to provide /usr/bin/appletviewer (appletviewer) in auto mode
update-alternatives: using /usr/lib/jvm/java-8-openjdk-arm64/bin/jconsole to provide /usr/bin/jconsole (jconsole) in auto mode
Processing triggers for libgdk-pixbuf2.0-0:arm64 (2.36.11-2) ...
Processing triggers for libc-bin (2.27-3ubuntu1.6) ...
ubuntu@instance-20230129-0806:/usr/lib$

자바를 실행해 보자

ubuntu@instance-20230129-0806:/usr/lib$ java -version
openjdk version "1.8.0_352"
OpenJDK Runtime Environment (build 1.8.0_352-8u352-ga-1~18.04-b08)
OpenJDK 64-Bit Server VM (build 25.352-b08, mixed mode)
ubuntu@instance-20230129-0806:/usr/lib$

개발 서버는 자연스럽게 나중에는 jdk 버전도 여러개가 될 것이다.

그러므로 디폴트 자바 경로를 잡아줘야 할 수도 있다.

ubuntu@instance-20230129-0806:/usr/lib$ sudo update-alternatives --config java
There is only one alternative in link group java (providing /usr/bin/java): /usr/lib/jvm/java-8-openjdk-arm64/jre/bin/java
Nothing to configure.
ubuntu@instance-20230129-0806:/usr/lib$

그러나 jdk 1.8 만 설치했기에 설정할 게 없다고 나온다.

 

다음은 환경변수 값을 설정한다.

 

2. Java 환경변수 설정  

 

1. Java Install  (openjdk 1.8)

 

먼저 아래와 같이 jdk설치 위치를 확인한다.

ubuntu@instance-20230129-0806:/usr/lib$ which javac
/usr/bin/javac
ubuntu@instance-20230129-0806:/usr/lib$ readlink -f /usr/bin/javac
/usr/lib/jvm/java-8-openjdk-arm64/bin/javac

결과를 보면 실제 javac 위치는 아래가 되겠다.

/usr/lib/jvm/java-8-openjdk-arm64/bin/

따라서 $JAVA_HOME 의 위치는 아래가 되겠다.

/usr/lib/jvm/java-8-openjdk-arm64

다음은 실제 환경변수 값을 설정한다.

설정할 대상 파일은 /etc/profile 이다

열어보자

if [ "${PS1-}" ]; then
  if [ "${BASH-}" ] && [ "$BASH" != "/bin/sh" ]; then
    # The file bash.bashrc already sets the default PS1.
    # PS1='\h:\w\$ '
    if [ -f /etc/bash.bashrc ]; then
      . /etc/bash.bashrc
    fi
  else
    if [ "`id -u`" -eq 0 ]; then
      PS1='# '
    else
      PS1='$ '
    fi
  fi
fi

if [ -d /etc/profile.d ]; then
  for i in /etc/profile.d/*.sh; do
    if [ -r $i ]; then
      . $i
    fi
  done
  unset i
fi

여기 하단에 아래 내용을 추가한다.

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
export CLASS_PATH=$JAVA_HOME/lib:$CLASS_PATH

나는 vi를 열어서 추가하였지만, nano 같은 툴로 하면 윈도우처럼 쉽게 저장할 수 있다.

 

저장후에 root 계정으로 profile 을 reload 해준다.

root@instance-20230129-0806:~# source /etc/profile
root@instance-20230129-0806:~#

그런후에 서버를 재기동하면 확실하겠다.

sudo shutdown now -r

이제 ubuntu 계정으로 java를 실행해보자

ubuntu@instance-20230129-0806:~$ java -version
openjdk version "1.8.0_352"
OpenJDK Runtime Environment (build 1.8.0_352-8u352-ga-1~18.04-b08)
OpenJDK 64-Bit Server VM (build 25.352-b08, mixed mode)
ubuntu@instance-20230129-0806:~$

 

댓글