我有一个RCP应用程序,其中定义了几个插件用于数据和功能分离。
我需要在应用程序启动时激活所有插件(其中一些需要注册网络事件)。我有"当加载其中一个类时,激活此插件"如果选中此框并且未选中此框,则在查看xml时,看起来这实际上是一个延迟加载指示符。
如果我将插件添加到.product中的配置页面,我会为每个激活器获取ClassNotFoundExceptions。
在RCP应用程序启动时让插件自动启动的最佳方法是什么?
答案 0 :(得分:1)
我宁愿该插件对其他插件的了解很少
在这种情况下,您可以执行Eclipse所做的事情:在启动器中定义扩展点,并让所有需要启动的插件扩展该扩展点。
答案 1 :(得分:0)
我会打开“激活......当其中一个类被加载时”,然后确保你在启动时触摸所需的所有类(无论如何你都必须这样做才能让代码运行)。我认为有一些不赞成的方法在启动时强制插件激活,但你不应该去那里。一般来说,只是在插件中调用一个类就会导致它被加载并启动,如果一切都设置正确,你不需要做任何特殊的事情。
您的应用程序可能有Eclipse引导调用的类之一(如WindowWorkbenchAdvisor
或类似的东西(引导中有许多钩子),只需选择一个有意义的类并调用您的代码。< / p>