Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 插件不以应用程序启动_Java_Eclipse_Rcp - Fatal编程技术网

Java 插件不以应用程序启动

Java 插件不以应用程序启动,java,eclipse,rcp,Java,Eclipse,Rcp,我有一个RCP应用程序,其中定义了几个插件,用于数据和功能分离 我需要在应用程序启动时激活所有插件(其中一些插件需要注册网络事件)。我没有选中“在加载某个插件的类时激活该插件”框,当该框被选中和未选中时,查看xml,这似乎实际上是一个延迟加载指示器 如果我将插件添加到.product的配置页面中,我会得到每个激活器的ClassNotFoundExceptions 当RCP应用程序启动时,让插件自动启动的最佳方法是什么?我会打开“激活…当它的一个类被加载时”,然后确保在启动时触摸所有需要的类(无论

我有一个RCP应用程序,其中定义了几个插件,用于数据和功能分离

我需要在应用程序启动时激活所有插件(其中一些插件需要注册网络事件)。我没有选中“在加载某个插件的类时激活该插件”框,当该框被选中和未选中时,查看xml,这似乎实际上是一个延迟加载指示器

如果我将插件添加到.product的配置页面中,我会得到每个激活器的ClassNotFoundExceptions

当RCP应用程序启动时,让插件自动启动的最佳方法是什么?

我会打开“激活…当它的一个类被加载时”,然后确保在启动时触摸所有需要的类(无论如何,你都必须这样做才能让代码运行)。我认为有一些不推荐的方法可以在启动时强制激活插件,但是你不需要去那里。一般来说,只要在插件中调用一个类,它就会被加载并启动。如果一切都设置正确,你不需要做任何特殊的事情

您的应用程序可能有Eclipse启动调用的类之一(如
WindowWorkbenchHadvisor
或类似的类(启动中有许多钩子),只需选择一个有意义的类并调用您的代码即可

我希望这个插件对其他插件的了解最少


在这种情况下,您可以像Eclipse那样做:在launcher中定义一个扩展点,并让所有需要启动的插件扩展该扩展点。

我有一个负责工作台交互的launcher插件。我希望该插件对其他插件知之甚少,但如果我找不到任何其他插件,我会这样做。另外,您可以考虑通过修改<代码> CONFIG.INI/<代码>文件并将它们添加到 OSGI.Bases/Cuff>属性中,明确地启动插件。terface什么也不做?@SamBrinck是的,当然。扩展点的唯一必需属性是name和ID。请在Eclipse帮助中查看。