2017-06-20 90 views
0

我正在使用NLS.initializeMessages(BUNDLE_NAME, XYZ.class)加載常量。NLS初始化消息傳遞

當'BUNDLE_NAME'和'XYZ.class'出現在同一個項目中時,它在不同的項目中不起作用。

當我們在不同的項目中有bundle名稱和'XYZ.class'時,我們可以使用上面的API嗎?

+0

「不同的項目」是什麼意思?這是另一個插件嗎?該插件是當前插件的依賴列表中的插件嗎? –

+0

雅這是另一個插件項目。 –

+0

該插件在當前插件的依賴項列表中-NO –

回答

2

如果該類在另一個插件中,而該插件不在您的插件的依賴列表中,那麼您需要知道該插件的ID以加載該類。

你會用得到的類:

Bundle bundle = Platform.getBundle("the plugin id"); 

Class<?> theClass = bundle.loadClass("the class name"); 

然後,您可以使用類,使用NLS.initializeMessagesBUNDLE_NAME您指定必須由類加載器theClass加載 - 這意味着它必須在插件或插件的依賴關係之一,它不能在你的插件。