2013-07-08 4 views
4

Eclipse에서 p2.inf 파일을 사용하거나 제품 정의 파일을 사용하여 번들의 시작 레벨과 자동 시작 플래그를 설정할 수 있음을 알고 있습니다. . 제품 파일에서이 작업을 수행하면 도구 지원이 제공되고 설정이 시작 구성에 적용됩니다. 반면에 p2.inf 파일을 사용하면 기능별로 시작 수준을 관리 할 수 ​​있으므로 시작 수준 설정을 적절하게 그룹화 할 수 있습니다. 이제Eclipse 플러그인의 시작 레벨 및 자동 시작 설정 : p2.inf vs 제품 정의

내 질문 :

시작 수준과 자동 시작 플래그를 정의의 선호하는 방법은 무엇입니까? p2.inf는 약간 구식 인 것 같지만 p2.inf를 사용하지 않고 기능 단위별로 시작 레벨과 자동 시작 플래그를 정의 할 수있는 방법이 있습니까?

답변

2

정말 개인적인 취향에 달려 있습니다. 제품 수준은 대부분의 시간 동안 궁극적 인 최종 아티팩트입니다. 당신이 발견 한 것처럼 도구 통합이 훨씬 낫습니다. Tycho 또는 PDE Build로 제품을 조립하면 제대로 작동하기 위해 제품의 내용과 시작해야 할 내용을 정확히 알 수 있습니다.

그러나 제품 정의에서만 번들 세분화 수준으로 내려가는 것이 좋지 않을 때가 있습니다. 하지만 기능 레벨이나 번들 레벨에서 시작 속성을 정의하는 것은 까다로울 수 있습니다. 예를 들어 다른 제품에서 사용자의 기능/번들을 사용하는 경우 자동 시작/시작 수준 요구 사항이 다를 수 있습니다.

FWIW, p2.inf 파일은 완전히 구식이 아닙니다. p2를 수정/최적화/지시하기위한 원시 베어 메탈입니다. 정말 좋은 툴링이 없기 때문에 아마 없을 것입니다.

+0

고너, Gunnar, 당신의 대답은 저에게 많은 도움이됩니다. 또 하나의 질문 : 이미 실행중인 OSGi 애플리케이션에 기능을 동적으로 추가하려는 경우 p2.inf 파일 만 시작 레벨을 지정하는 유일한 방법입니까? 제품을 다시 시작하는 것이 최적의 솔루션이라고 생각하지 않습니다. – usan

+0

@usan : 후속 질문은 stackoverflow에서 권장하지 않습니다. 새로운 질문을하십시오. – oberlies

+0

'setStartLevel (startLevel : 1); markStarted (started : true);'를 얻을 수 없습니다. 번들이 제품에서 제대로 작동하려면 p2.inf를 참조하십시오. 'markStarted (started : true);와 같지만'setStartLevel (startLevel : 1);'은 무시됩니다. 다른하실 말씀 있나요? 실천 사례가 있습니까? –