2009-09-23 53 views

回答

1

第一個問題是,爲什麼你有2包定義相同的包 - 這被稱爲分裂包和不建議,因爲你可以有陰影的問題。

使用Import-Package運行時將選擇bundle A或B來解決程序包依賴性,並且無法直接控制它(您可以通過設置導出的強制屬性來完成各種技巧,比如Eclipse人員所做的)。

隨着Require-Bundle你最終會得到一個合併的com.X包,所以你會看到類型的超集,但我不知道如果你有重疊的類型會發生什麼。

最簡單的事情是避免在首位拆分包。

+0

感謝史蒂芬,你的答案是有幫助的。你提到: 「像Eclipse人一樣通過設置出口的強制性屬性來做各種技巧」......你能說出這些技術是什麼。謝謝。 –

+0

當一個包輸出一個包時,它可以選擇指定其他的鍵/值對(它們可以是任何你想要的)。這些額外的鍵/值對可以被標記爲強制性的,所以其他分組只能在導入包中指定相同的鍵/值對。一些Eclipse捆綁軟件使用這種技術,因爲它們有分離的軟件包,但我認爲這是一個遺留問題,如果可能的話,應該避免它。 – SteveD