RCP/SWT & JFACE

Menifest 파일 설명

반응형

Menifest


Dependencies 페이지

1. Menifest 플러그인들의 의존관계를 표시

Require-Bundle: org.eclipse.ui,

Org.eclipse.core.runtime

 

 뜻은 해당 두개의 플러그인에 현재 플러그인이 종속된다는 것을 의미한다.

해당 의미는 컴파일시 결정되는 종속성이 아닌 플러그인의 실행시에 사용되는 종속성이다.

실행  참조해야  플러그인이 어떤 것인지 확인한다클래스 로드  Require-Bundle 명시된 항목  클래스를 찾을  없을 경우 NoClassDefFoundError 예외가 발생한다.

 

Require-Bundle: org.eclipse.ui,

Org.eclipse.core.runtime;resolutoin=optional // 없어도 실행되는것(있어도 좋고 없어도 상관 없음)

 

 

Import-package: org.eclipse.ui.views,

Org.eclipse.runtime.model

 뜻은 종속성을 표현하기도 한다.

Import-Package Require-Bundle 비슷하지만 번들 이름을 지정하는 대신에 패키지 이름을 대신한다.

 그대로 Require-Bundle 제공자를 기재하지만 Import-Pageck 필요한 패키지만을 찝어서 기재한다그렇기 때문에 해당 패키지를 가진 다른 플러그인으로 쉽게 대체가 가능하다.(하지만 제공자를 알기는 어렵다)

 

2. Runtime 페이지

Menifest에서 Runtime 페이지는 Bundle-ClassPath 연관이 있다. Bundle-ClassPath 플러그인과 함께 전달함으로써 플러그인을실행할  사용할 라이브러리가 무엇인지다른 플러그인이 라이브러리의 코드를 참조할  있는지 여부 등을 정의힌다.

Bundle-ClassPath: favirites.jar 라고 plugin.xml 기재할 경우 Menifest.xmlRuntime 영역의 Classpath 기재되고

해당 플러그인의 모든 소스는 해당 라이브러리를 참조하게 된다.

 

3. Extension 페이지

해당 페이지는 현재 플러그인이 시스템의 다른 플러그인에서 이미 제공 제공하는 기능을 어떻게 보완하는지   있다.

<extension point="org.eclipse.ui.view">

 

<category

Name = "Quality Eclipse"

Id = "com.qualityeclipse.favorites">

</category>

 

<view

Name = "Favorites"

Icon = "icons/sample.gif"

Category = "com.qualityeclipse.favorites"

Class="com.qualityeclise.favorites.views.FaoviritesView"

Id = "com.qualityeclise.favorites.views.FaoviritesView">

</view>

</extension>

 

위에 내용을 보게 되면 해당 플러그인은 org.eclipse.ui.view 확장점을 사용해 org.eclipse.ui 플러그인에 대한 확장을 선언한다선언된 확장은 Quality Eclipse 라는 이름의  카테고리를 추가하며  카테고리 안에 Favorites라는 이름의 새로운 뷰를 제공한다.


4. Extension Point 페이지

간편하게  확장점을 정의할  있다확장점은 해당 플러그인이 제공하는 기능을 다른 플러그인이 보완할  있게 한다. (확장점을정의 하지 않으면 다른 플러드인에서 해당 플러그인을 확장하여 사용할  없다.)

 

 

플러그인 ID

  • 플러그인 ID  하나의 플러그인을 식별하기 위해 설계된 . (com.<회사명>.<제품명> 형태로 구현한다.)


반응형

'RCP > SWT & JFACE' 카테고리의 다른 글

OSGI & Platform  (0) 2016.12.24
RCP 프레임워크 프로젝트의 플러그인 클래스  (0) 2016.12.24
Action 클래스 살펴보기  (0) 2016.12.24
rcp프레임워크의 shell객체의 이벤트 처리 설명  (0) 2016.12.24
event doit 설명  (0) 2016.12.24