2017-01-09 28 views
0

我有一個Eclipse插件,並已經知道我可以檢索工作區相關束路徑是這樣的:Platform.getBundle返回null

Bundle bundle = FrameworkUtil.getBundle(getClass()); 
IPath path = Platform.getStateLocation(bundle); 

如果我把這些代碼到的啓動方法我捆綁激活類一切正常。但是我需要插件中另一個類的路徑。現在

,我試圖做得到 '捆綁' 這樣的:

bundleID = "de.some.thing.plugin" // ID of that plugin like in plugin.xml 
    Bundle bundle = Platform.getBundle(bundleID); 
    ... 

但這返回null。任何人都可以幫助我排除故障或理解爲什麼它不起作用嗎?

回答

2

你不說什麼bundleId是。這必須是一個包含插件ID的字符串 - 這是插件的MANIFEST.MF中的Bundle-SymbolicName的值(在任何分號後省略任何內容)。

在MANIFEST.MF編輯器中,這顯示在「概覽」選項卡上的「ID」字段中。

注意:FrameworkUtil.getBundle(getClass())可以在您的插件中的任何類中使用,而不僅僅是激活器。

+0

我沒想到FrameworkUtil.getBundle(getClass())可以在我的插件的任何類中工作。但你是對的。這有幫助!非常感謝! – July