2010-02-26 3 views
1

Java 자체에서 제공하는 "org.ietf.jgss"와 같은 번들에 종속성을 선언하는 이진 형식의 OSGi 번들이 있습니다. P2는 이러한 종속성을 감지하고 나중에 P2 디렉터 응용 프로그램을 사용하여 제품을 설치하려고하면 번들이 이러한 패키지를 제공하지 않으므로 설치가 실패합니다. 그러나 P2 제품 빌드를 사용하면 완전한 설치 제품을 사용할 수 있습니다.Eclipse를 사용하여 Java 제공 패키지를 처리하는 방법 P2

제 문제는 제품 파일을 만들고 응용 프로그램의 각 변형에 맞게 작성하고 싶지 않다는 것입니다. 따라서 P2 디렉터를 사용하여 대상 시스템에 제품을 설치하기 위해 모든 P2 리포지토리를 복사하는 방법을 시도했습니다.

Java에서 제공하는 패키지에 대한 의존성을 처리하는 방법과 Java에서 제공하는 경우 P2가 이러한 패키지를 무시하도록 "설득하는"방법은 무엇입니까?

도와 주셔서 감사합니다.

답변

1

OSGi가이를 호출 할 때 Java가 제공하는 패키지 또는 "실행 환경"은 Java *. *로 시작하는 패키지에 정의되어 있으며 명시 적 import 문이 필요하지 않습니다.

가상 머신이 java. *로 시작하지 않는 추가 패키지를 제공하는 경우 시스템 번들을 통해 사용할 수 있도록 만들 수 있습니다 (프레임 워크가 해당 패키지를 사용할 수 있도록하고 이러한 패키지의 명시 적 가져 오기를 확인할 수 있음). 또는 boot 위임 (명시 적으로 임포트되지 않은 경우에도 이러한 패키지가 마술처럼 사용 가능함을 의미).

첫 문장에서 약간 혼란 스럽습니다. 번들이 다른 번들에 대한 의존성을 선언하면 JVM이 번들을 제공하지 않으므로이 번들을 Java 자체에서 어떻게 제공 할 수 있습니까?