Eclipse Fragment 프로젝트는 기존에 존재하는 plugin 에 대한 패치나 번들처리등에 이용이 된다.
하지만 기존에 존재하는 eclipse core framework 의 일부 jar 나 plugin 에 대해서 fragment 가 제대로 동작 하지 않는 경우가 있다.
이에 대한 해결방법에 대해 알아보자.
아래부터는 원본 jar 나 plugin 을 Host Plugin 이라 지칭하고, fragment plugin 을 Patch plugin 이라 지칭
- Host Plugin Setting
- plugin.xml 설정
- Overview
- version 이 중복되지 않도록 "_patch" 등의 이름으로 수정
- Runtime > Classpath
- patch.jar 라는 이름을 추가하고, patch.jar 가 "." 위로 오도록 순서수정
- Build > Runtime Information
- patch.jar 가 있다면 삭제하고 "." 만 나오게 수정
- Folder 는 src/ 가 나오게 수정
- MANIFEST.MF
- Eclipse-ExtensibleAPI: true 를 기술
- MANIFEST.MF 파일 예제
Bundle-Version: 1.3.1.v201401291437_patch
...skip...
Eclipse-ExtensibleAPI: true Bundle-ClassPath: patch.jar,
.
- build.properties 파일 예제
jars.compile.order = .
bin.includes = .,\ META-INF/,\ plugin.properties,\ plugin.xml,\ default.properties,\ .options javacSource=1.5 javacTarget=1.5 source.. = src/ output.. = bin/
- Patch Plugin Setting
- MANIFEST.MF
- Overview
- Host Plug-in 선택
- Runtime > Classpath
- patch.jar 라는 이름을 추가하고, patch.jar 가 "." 위로 오도록 순서수정
- Build > Runtime Information
- patch.jar 가 있다면 삭제하고 "." 만 나오게 수정
- Folder 는 src/ 가 나오게 수정
- MANIFEST.MF
- Eclipse-PatchFragment: true 를 기술
- MANIFEST.MF 파일 예제
Eclipse-PatchFragment: true
Bundle-ClassPath: patch.jar, .
- build.properties 파일 예제
bin.includes = META-INF/,\
patch.jar
jars.compile.order = patch.jar
source.patch.jar = src/
- Feature 프로젝트에 Patch Plugin 이 포함된 Feature Dependency 기술
- a.plugin 을 패치한다면 해당 plugin 에 버전이 xxx_patch 등으로 바뀌었을것이다.
- 이후 a.plugin 을 포함하고있는 abc.feature plugin 에 해당 내용을 수정해야되는데 수정하는 방법은 2가지가 있다.
- abc.feature plugin 을 통째로 include 하는법
- abc.feature pulgin 에 기술된 plugin 들을 전부 include 하는법
- 위의 내용을 feature 프로젝트를 하나 생성하여 plugin.xml 에 Feature 혹은 Plugin 탭에서 기술한다.
- Eclipse Framework 환경에서 Dependecy 확인하는법
- ../eclipse/feature 폴더로 이동
- 다음 명령어 수행
- $ grep -r pluginName .
'Eclipse' 카테고리의 다른 글
[Eclipse] An API baseline has not been set for the current workspace 에러 (0) | 2014.10.14 |
---|---|
[Eclipse][JAXB] The currently selected JAXB library provider is invalid 에러 (0) | 2014.10.14 |
[Eclipse] File Decorator 확장 후 Problem Marker 가 보이지 않는 경우 (0) | 2014.03.24 |
[Eclipse] File 의 Content 에 따른 Default Editor 설정 (0) | 2014.03.24 |
[Eclipse] SWT Browser 로 Java 와 Javascript Function Callback 연결하기 (0) | 2013.11.11 |