Spring DM, Eclipse 플러그인 개발 환경에 통합하기

참조: http://static.springframework.org/osgi/docs/current/reference/html/appendix-pde-integration.html

레퍼런스대로 하면, 잘 안 될 겁니다. Spring DM 최신 버전도 못 쓰고 말이죠. Spring DM 때문에 Spring IDE를 설치해야 하는 것도 아닌데, Spring DM 레퍼런스 이 부분은 별로 네요. 그래서 제 맘대로 다시 작성합니다.

Eclipse의 Target Platform에 Spring DM 관련 번들들을 설정 해 놓고 손 쉽게 Equinox위에서 해당 번들들을 돌릴 환경을 마련하는 과정입니다. 간단합니다.

먼저 Spring DM 프로젝트를 다운로드 합니다.

http://www.springframework.org/osgi

압축을 풀고, lib과 dist에 있는 모든 번들들(*source*가 들어간건 제외합니다. 소스는 필요 없습니다.)을 복사해서 특정 폴더 하나로 이동시켜둡니다.

사용자 삽입 이미지
그리고 Eclipse의 Target Platform 설정으로 들어가서 해당 폴더를 Location으로 잡아주고, Reload 버튼을 클릭합니다. 환경 설정은 끝났습니다.

사용자 삽입 이미지
이제 Equinox를 실행해보죠.

사용자 삽입 이미지
흠.. 뭐 별게 없스니다. 왼쪽에 있는 서브 메뉴에서 OSGi Framework을 더블클릭해서 새로운 Run Configuration 인스턴스를 만들고 이름을 Spring DM이라고 지어줬습니다. 번들들은 알아서 Target Platform에 설정해 둔것들을 로딩해 왔을 겁니다. Apply를 클릭하고 Run을 클릭합니다.

번들들의 상태와 Equinox 명령어를 확인해보죠.

사용자 삽입 이미지
test랑 jetty fragment는 resolved 상태로 되어 있네요. test 번들은 저렇게 설치할 용도로 만들어진게 아니니까 폴더에서 빼줘야 될 것 같네요. jetty fragment는 나중에 Jetty를 서브릿 컨테이너로 사용할 때 제티 설정을 변경할 수 있는 번들이니까 뭐.. 일단 내비둬도 상관없겠네요.

중요한 건, Extender가 제대로 동작 중이냐 입니다. 번들 ID 3번으로 잘 동작하고 있군요. Spring DM에서 가장 중요한 번들이 Extender입니다. 좀 더 자세히 봐볼까요?

사용자 삽입 이미지
흠.. 확실히 콘솔 명령어는 Felix보다 Equinox가 좀 더 많고 편합니다.