우분투(Ubuntu) 에 자동으로 포함되어 있는 openjdk 와 sun 의 jdk 가 미묘하게 차이가 있는 것을 알고 있습니까? 실은 저도 못 느껴본 차이긴 하지만 있다고 합니다.

무엇인가를 개발할 때 특히나 오픈소스(Open Source)를 가져다 쓸 때는 환경 문제가 특히나 중요한데, 지금 할려는 작업이 sun-jdk 를 설치해야만 하는 일입니다. 저번 포스트에서는 무지 간단하게 썼지만 막상 sun-jdk 를 설치하는 일은 한줄로 되지는 않습니다. 다섯줄 입니다.

$ sudo apt-get install python-software-properties
$ sudo add-apt-repository ppa:ferramroberto/java
$ sudo apt-get update
$ sudo apt-get install sun-java6-jdk sun-java6-plugin


패키지를 가져오는 소스 주소를 추가해 주고 레파지토리 (repository)를 업데이트 해줍니다. 그리고 가볍게 설치를 해 줍니다. 설치가 끝났다면 이미 설치되어 있는 자바를 관리해 줄 필요가 있습니다.

$ sudo update-alternatives --config java


  Selection    Path                                      Priority   Status
------------------------------------------------------------
* 0            /usr/lib/jvm/java-6-openjdk/jre/bin/java   1061      auto mode
  1            /usr/lib/jvm/java-6-openjdk/jre/bin/java   1061      manual mode
  2            /usr/lib/jvm/java-6-sun/jre/bin/java       63        manual mode

Press enter to keep the current choice[*], or type selection number: 2

기본으로 쓸 자바를 어떤것을 선택할 것인지 지정해 주는 작업입니다. java-6-sun 을 골라주시면 되겠지요.

$ java -version


으로 검사해 보면 됩니다.



$ apt-get install java


로 한방에 끝이 납니다. 그러나 게스트OS 에서 인터넷을 쓸 수 없는 지금은 모든것을 수동으로 깔아줘야 합니다.

다음으로 이동해서 라이센스에 동의 하시고

http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u31-download-1501634.html

jdk-6u31-linux-i586.bin 를 다운 받습니다.

$ sudo mkdir /usr/java
$ sudo cp jdk-6u31-linux-i586.bin /usr/java
$ sudo su -

루트 계정으로 변경합니다.

# cd /usr/java
# ./jdk-6u31-linux-i586.bin
# exit

다시 본래 계정으로 돌아와서

$ emacs $HOME/.bash_profile

아래와 같은 내용을 맨 아래에 추가해 줍니다. (제 경우에는 파일을 새로 만들었습니다)

export JAVA_HOME=/usr/java/jdk1.6.0_31
export PATH=$PATH:$JAVA_HOME/bin

저장하고 파일을 닫고

$ source $HOME/.bash_profile
$ java -version

결과 값이

java version "1.6.0_31"
Java(TM) SE Runtime Environment (build 1.6.0_31-b04)
Java HotSpot(TM) Client VM (build 20.6-b01, mixed mode, sharing)

나오면 됩니다.

이상으로 쉬운일을 어렵게 풀어나가고 있는 광이랑입니다.


자바에서 Ant 를 이용해서 다중 컴파일 할때 큰 프로젝트의 경우에는 여지 없이 메모리 에러가 발생합니다. 그럴 때는 COMMAND 프롬프트 상에서 

  set ANT_OPTS=-Xmx1024m -Xms512m


와 같이 입력하면  깔끔하게 해결됩니다.


 

+ Recent posts