2009-09-23 6 views
0

1) 뭉치 재수출이 번들 C로부터 얻는다 패키지 com.X,춘분 번들 수입 충돌


2) 번들 B 수출 패키지 com.X


3) 이제 번들 D는 A와 B 모두에 의존합니다.


어디에서 번들 D가 com.X에서 패키지합니까?

답변

1

첫 번째 질문은 동일한 패키지를 정의하는 2 개의 번들이있는 이유입니다.이 패키지는 분할 패키지라고하며 섀도 잉에 문제가 발생할 수 있으므로 권장하지 않습니다.

Import-Package으로 런타임은 패키지 종속성을 해결하기 위해 번들 A 또는 B 중 하나를 선택하므로 직접 제어 할 수 없습니다 (Eclipse 사용자와 같이 내보내기에 필수 속성을 설정하여 다양한 트릭을 수행 할 수 있습니다).

Require-Bundle으로 병합 된 com.X 패키지로 끝나기 때문에 유형의 수퍼 세트가 표시되지만 겹치는 유형이있는 경우 어떻게 될지 잘 모르겠습니다.

가장 간단한 방법은 처음에 분할 패키지를 피하는 것입니다.

+0

감사합니다. steven, 당신의 대답은 도움이되었습니다. 당신은 언급했습니다 : "Eclipse 친구들과 같은 다양한 트릭은 수출에 필수 속성을 설정함으로써 할 수 있습니다.".... 이러한 기술은 무엇인지 말할 수 있습니까? 감사. –

+0

번들은 패키지를 내보낼 때 선택적으로 추가 키/값 쌍을 지정할 수 있습니다. 원하는 키/값 쌍을 지정할 수 있습니다. 이러한 추가 키/값 쌍은 필수로 표시 될 수 있으므로 다른 번들도 동일한 키/값 쌍을 지정하면 가져 오기 - 패키지 만 수행 할 수 있습니다. 일부 이클립스 번들은 패키지를 분할했기 때문에이 기술을 사용하지만, 이것이 더 많은 문제가 될 수 있다고 생각합니다. 가능한 경우이를 피하십시오. – SteveD