bboks.net™

이클립스 에서 메이븐 이용 하여 빌드시에 Unable to locate the Javac Compiler in... 에러 처리 방법 본문

IDE/STS | Eclipse

이클립스 에서 메이븐 이용 하여 빌드시에 Unable to locate the Javac Compiler in... 에러 처리 방법

bboks.net 2011. 7. 4. 10:53

시나리오 : 이클립스에서 SVN 통해서 프로젝트를 받고 빌드를 할려고 하니 이런 시부랄 탱탱탱 .. 별 이상한 에러가 나타 났다.
구글링해서 이클립스에 실행 환경 설정 ( [ECLIPSE_HOME]/eclipse.ini ) 바꾸고 , [해당프로젝트] > Properties에 들어가 
       생지랄을 했으니 됬다가 안됬다가 또 쇼를 하는... 상황이 발생하였다.  

해당 환경 : 윈도우7 32bit / 이클립스 핼리오스 / 핼리오스에 기본적으로 깔린 메이븐 플러그인 / 자바 jdk1.6.0_23

해당 에러 : 

org.apache.maven.plugin.CompilationFailureException: Compilation failure
        Unable to locate the Javac Compiler in:
        [개인 로컬의 JAVA_HOME]\jre6\..\lib\tools.jar
        Please ensure you are using JDK 1.4 or above and
        not a JRE (the com.sun.tools.javac.Main class is required).
        In most cases you can change the location of your Java
        installation by setting the JAVA_HOME environment variable.



해결 방법 : 구글링해서 별 쇼를 다해봤지만 회사 대리님이 도와주셔서 .. 이클립스에 JRE_HOME 관련 해서 아에 설정을 잡아 버렸다.

1 . 메뉴에 Window >> Preferences 를 클릭  


2 . ADD 클릭 


3 . Add JRE 창 >> Standard VM 을 선택 >> Next 를 클릭


4 . JRE Definition 창에서 JRE home 과 JRE name 을 잡아 준다. 현재 저와 같은 경우는 제 로컬에 C:\Java\jdk1.6.0_23 에 jdk1.6 이 깔려 있어 저렇게 잡았습니다. JRE name 은 중복되지 않은 이름을 지정해 주면 됩니다. 마지막에 Finish 클릭!



5 . Installed JREs 창에서 금방 등록한 jre를 선택해 줍니다. 그리고 마지막에 ok 버튼도 클릭 !



6. 다음은 해당 프로젝트에 해당 JRE를 셋팅하겠습니다.  [해당프로젝트] 클릭 > 마우스 우클릭 > Properties  클릭 !



7 . Java Build Path 창 >> 이전 JRE 삭제 ( 충돌 나니까 삭제 하죠 ~ ) : 기존 JRE를 선택한뒤 Remove 버튼 클릭 !



8 . Java Build Path 창 >> 새로운 JRE 등록 : Add Libary.. 버튼 선택 



9 .Add Libary 창 >> JRE System Libary 선택 >> Next 클릭 !



10 . JRE System Libary 창 >> Alternate JRE 에서 아까 설정한 JRE 선택 후 Finish 버튼 클릭 >> Java Build Path 창에서 OK버튼클릭 



11 . 메이븐으로 빌드 : [해당프로젝트] 클릭 > 마우스 우클릭 > Run As > Maven Package 클릭! 



결과 : 빌드가 되어 /target/[해당프로젝트].war 파일이 생성이 된다. 


후기 : 이거 그림 뜬다고 다 외어 버렸다능... ㅡㅜ 앞으로 이런 비슷한 에러가 나면 10초안에 처리 할것 같아져 버렸다. 이 말도 안되는 자신감 . ㅋㅋ 저에 머리는 나빠서 이런거 다 적어야 합니다. ㅡㅜ 


[출처] 이클립스 에서 메이븐 이용 하여 빌드시에 Unable to locate the Javac Compiler in ~~ 어쩌고 저쩌고 에러 처리 방법