본문 바로가기

Dev. Tool/Eclipse

하나의 Eclipse에서 여러 버전의 JDK 셋팅하기

[출처] http://cerney.tistory.com/7


Eclipse의 주 용도가 Java 언어를 기반으로하는 개발이라면, JRE의 버전별 설치가 필요한 경우가 있습니다.

예를 들면 특정 시스템을 업그레이드 해야하는 경우입니다.
기존 시스템이  
 JRE 1.4.x 를 기준으로 작성되어있다고 할때,  최신버전의  JRE (Java 5.0 스펙 이후 버전)을 기준으로 셋팅된 Eclipse에서 별도의  JRE Version 설정없이 컴파일 하는 경우 문제가 될 수 있습니다.

[필요한 이유]

JDK 5.0에는 generic 이나 for loop (
VB의  for...each문 ) 같은 내용들이 Java Compiler 및 JVM 에 추가 되었기때문에 문제될 수 있고, 다른 경우로는 같은 was도 1.5이상 이지만 was가 JRE Version이 다르다고 Exception을 토해내는 경우가 있습니다.  ( java.lang.UnsupportedClassVersionError: Unsupported major.minor version XX.X )


* 이 설정을 완료하시면 이전 버전의 JDK를 전부 설치하고 Project별로 원하는 버전으로 컴파일 하는 것도 가능합니다.

※ 여러 JDK 등록하기


1. 필요한 버전의 JDK 설치.
2. System에서 기본으로 사용할 버전을 JAVA_HOME, CLASSPATH, PATH에 등록합니다.
   (JRE 1.5 이상을 셋팅하세요. 정확한 Eclipse 버전은 기억나지 않지만, 특정 버전 이후는 Eclipse 자체가 실행이 안됩니다. )
3. Eclipse 설치 및 실행.
4. Window -> Preferences -> Java -> Installed JREs

   - 이 화면에서는 Eclipse 구동에 사용된 1개의 JRE만 나타납니다. ( 저는 추가해놓은 상태라서 2개입니다. )

Window -> Preferences -> Java -> Installed JREs


5. Add 버튼 클릭 -> Standard VM 선택

Standard VM 선택


6. Directory 버튼 클릭 -> JDK 혹은 JRE의 Root Directory ( 폴더 ) 를 선택

Directory 버튼 클릭 -> JDK 혹은 JRE의 Root Directory ( 폴더 ) 를 선택

 
* 1 ~ 6 까지의 과정을 반복해서 사용하고자 하는 모든 JDK를 등록해줍니다. 
 

※ 각 프로젝트별 JDK 설정하기.


- Eclipse의 Package Explorer 에서 개발 중이 Project별로 JDK를 설정합니다.

1.  Package Explorer 에서 Project

    - 프로젝트의 Root 마우스 우클릭 -> Properties 선택 or (단축키) 프로젝트 Root 선택 -> Alt + Enter   

프로젝트의 Root 마우스 우클릭 -> Properties 선택


2. Java Build Path -> Libraries ( 설정되어있는 JRE 버전이 다른 경우 변경합니다.  )
   - JRE System Library 선택 -> Edit 클릭

JRE System Library 선택 -> Edit 클릭


3. Alternate JRE 선택 -> 드롭다운 박스에서 선택
   * 만약 새로 설치한 JDK가 보이지 않는다면, Eclipse에 등록이 안되어 있기때문입니다. 이 경우 Installed JREs 를 클릭하시면 바로 등록하실 수 있습니다. ( 위의 Eclipse에 JDK 등록하기 과정 ) 

Alternate JRE 선택 -> 드롭다운 박스에서 선택



각각의 프로젝트 별로 이와 같이 설정하시면 전부 다른 JDK로 컴파일 됩니다.


Execution Environment 의 [J2SE-1.X]의 설정의 추천하지 않습니다.
 
예를 들면 JDK 1.7만 설치하고 JDK 1.7 Compiler의 옵션으로 다른(낮은) 버전으로 컴파일되도록 설정하는 부분입니다.
허나 가끔씩은 정확한 버전을 맞춰주지 않으면 JVM이 투정을 부리기 때문에 이왕 공들여 설정하는 것이니, 한번에 문제없도록 설정하는 편이 좋을 듯합니다. ( ^^)/` 


더하여,
JDK의 Minor version만 다르거나, Update version만 다른 경우에도 JVM이 Exception을 던지는 경우가 있습니다.
개발프로젝트에 투입되어서 Eclipse에 붙여 사용할 Module (Eclipse Project) 갯수가 매우 많은 경우가 드물기 때문에 초기 환경설정하는 기분으로 JVM 버전을 정확히! 셋팅해 주는 것이 좋습니다.