2011년 9월 15일 목요일

PDE 개발 시 다른 PDE 프로젝트의 클래스 import


com.archnal.affogato.ui 라는 Eclipse plugin 프로젝트를 개발하면서,
공통적으로 자주 사용할 만한 PDE관련 클래스를 따로 묶어서 새로운 프로젝트를 만들고 싶었다.

com.archnal.pde라는 프로젝트에 com.archnal.pde.util 이라는 패키지를 만들어서
유틸리티 클래스를 몇개 구현한 후
com.archnal.affogato.ui 프로젝트에서 위의 패키지(com.archnal.pde.util)의 클래스를 import 하려는 데, 아래와 같은 컴파일 에러가 뜬다.
"Access restriction: The type EventUtil is not accessible due to restriction on required project com.archnal.pde"

com.archnal.affogato.ui 프로젝트의 Properties 메뉴에서 Project References 에서 com.archnal.pde 프로젝트를 선택해도 에러가 사라지지 않는다.
에러가 발생 한 import 문에 마우스 커서를 위치하면 아래와 같은 Quick Fix 구문이 나타난다.
"Export the 'com.archnal.pde.util' package from the 'com.archnal.pde' plugin"

위의 라벨을 클릭하면 com.archnal.pde 프로젝트의 plugin.xml 파일의 Runtime 탭의 Exported Packages 섹션에
com.archnal.pde.util 패키지가 자동으로 포함된다.

com.archnal.pde 프로젝트의 plugin.xml 파일을 열어서 Add 버튼을 클릭하여 수동으로 패키지를 추가해도 동일하다.



2011년 9월 5일 월요일

JDT 개발 시 plugin 소스 코드 보기


이클립스에서 JDT 플러그인 개발을 할 때 참조할 만한 가장 훌륭한 소스는
org.eclipse.jdt.ui 플러그인에 있는 소스다.

구글에서 여러 번 검색을 해 보고 따라 해 봤지만 번번히 실패를 했다.

아래의 링크에 있는 대로 실행해 봤다.

http://musingsofaprogrammingaddict.blogspot.com/2010/08/retrieving-jdt-sources-with-eclipse-36.html

위의 포스트의 댓글에도 있는 것처럼 방법은 간단한데 동작하지 않는단다.
나도 그랬다. 이것저것 설정을 바꿔 봤는데 잘 동작하지 않았다.

방법은 간단하다.
plug Ins 뷰 (뷰가 보이지 않거든 Window - Show View - Plug-in Development 에서 선택) 에서
참조하고자 하는 소스코드가 있는 플러그인(ex org.eclipse.jdt.ui) 을 선택한 후 오른쪽 마우스 버튼을 클릭하여
Import As - Project from a repository 메뉴를 실행시킨다.

워크스페이스에 org.eclipse.jdt.ui라는 프로젝트가 생성이 되었지만 여전히 자바 소스 코드를 내려 받지 않았다.

Import AS의 다른 메뉴를 실행하다 다시 위의 메뉴를 실행 보니 CVS 아이디와 비밀번호를 묻는 창이 띄워졌다.

아이디 입력란에 anonymous라고 입력하고 비밀번호는 비워둔 채로 OK 버튼을 클릭하니까
나의 로컬 워크스페이스에 org.eclipse.jdt.ui 라는 프로젝트가 생성되고 관련 자바 소스 코드가 내려 받아 졌다.

뒷걸음치다 쥐 잡은 꼴이지만 암튼 도움이 되시길..

참고로
Window - Preferences - Plug-in Developement 의 Source (Show Source plugins) 체크 박스도 설정해 보기도 하고 안 하기도 하고 그랬다. ^^