2012-12-07 34 views
0

我使用java.util.ServiceLoader來創建一個輕量級的插件框架。多個類具有相同的FQN(ServiceLoader)

我目前正在摔跤如何有相同的FQN多個實施類。我希望在類路徑中有相同插件的兩個副本,並且可以訪問META-INF/services目錄中給出的兩個實現類。

下面是說明我的意思了一些簡單的Eclipse項目:https://docs.google.com/open?id=0B4MxFm-ACB3IUmswN0dpMExTVms

ServiceLoaderIntf具有通過插件實現的簡單的界面。 ProjectOne和ProjectTwo代表插件。 ServiceLoader具有Tester類,它遍歷實現者並在其上調用init()方法。

即使實現類具有相同的FQN,我如何才能識別所有實現者?現在它只是識別ProjectOne中的插件類。

回答

0

由於服務類正在被相同的共享類加載器加載,因此您可能不會爲實現類使用相同的FQN。

此外,在各種實現之間共享相同的FQN是沒有意義的,因爲類名應至少提示其目的。

相關問題