添加到目标的Eclipse rcp插件可以在编译时解析,但不能在运行时解析

时间:2010-10-04 20:09:11

标签: eclipse eclipse-plugin eclipse-rcp eclipse-rap

我已经在我的RAP应用程序的目标平台上添加了一个插件。在处理项目时,我可以毫无问题地引用它,并且编译发生时没有错误。该插件还显示在我的构建路径的插件依赖库中。但是,当我运行应用程序时,osgi框架为我提供了例外A

org.osgi.framework.BundleException: The bundle "ate_rap_1.0.0.qualifier [98]" could not
be resolved. Reason: Missing Constraint: Require-Bundle: com.richclientgui.rcptoolbox;
bundle-version="0.0.0"

如何添加插件以便我可以将其与我的应用程序一起使用?

3 个答案:

答案 0 :(得分:0)

您的应用是否是从PDE feature 构建的?如果是这样,您可能需要将新插件添加到主功能中包含的插件列表中。

答案 1 :(得分:0)

要将插件添加到基本RAP应用程序,请选择File-> New-> Other,然后在向导中选择Plug-in Development-> Existing Jarives中的Plug-in。这将创建一个托管该插件的项目,该项目可以添加到构建路径中。添加到构建路径后,将此插件作为依赖项添加到MANIFEST.MF中。最后,在应用程序的运行配置中,选择“Bundles”选项卡,并确保选中要添加的包。这可以通过“添加必需的包”按钮轻松完成。现在,该项目应该在Eclipse中使用bundle运行。

答案 2 :(得分:0)

首先,在使用OSGi时不要使用插件依赖项。 OSGi不知道您的IDE中的那些依赖项,它只关心bundle在其bundle清单中定义的依赖项。因此,您必须在MANIFEST.MF(依赖项选项卡)中定义依赖项。

其次,您必须将此捆绑包添加到启动配置中。在Eclipse中,去运行... - >运行配置...选择启动配置,转到Bundles选项卡并检查其他插件。在启动之前,单击Bundles选项卡中的“Validate Bundles”。