此问题的范围适用于您在eclipse中根据下面链接的Vogella教程创建RCP应用程序之后。这假设您的功能,产品和父项目已创建。在此状态下,该功能被委派为构建任务,因此需要在功能build.properties文件中解析所有依赖项。
此问题解决了何时需要安装缺少的依赖项,即手动下载,因为缺少的依赖项不在类路径上。类路径确定feature / included-plugins选项卡中可用的插件。功能/包含选项卡中列出的插件可以作为依赖项的插件添加到您的插件中。此列表将附加到您的feature.xml文件中,该文件将链接到您的build.properties文件!请参阅下面的解决方案。
Eclipse命名法交换了plugins = dependencies的思想,并将它们视为相同。我们通过选项卡的名称知道这一点。
此问题的目的是利用现有的Eclipse功能开发RCP应用程序,该应用程序使用来自第三方插件的对象来创建自定义工作流。
抛出此错误是因为我的RCP应用程序第三方插件需要此依赖项,该依赖项未包含在Eclipse ICE或插件本身中。
我尝试的第一件事就是直接从Eclipse Marketplace安装插件。
字符串org.apache.commons.beanutils什么都没有返回,所以我去了apache并手动下载了插件。
然后我研究了如何在Eclipse中手动安装插件。
我已经学会了不要简单地将插件放入Eclipse / dropins文件夹中,该文件夹什么都不做。 我已经知道这个建议可能是由于帖子的年龄而缺乏的。 我已经了解到Maven配置正确后,所有依赖关系都可以自动解决。
https://www.eclipse.org/forums/index.php/t/813199/
这表示通过查看四个文件来解决插件依赖性。
"插件定义,产品文件,运行配置和目标定义。"
插件定义我不确定plugin.xml文件以外的内容。产品文件已配置为启动第三方插件。我已经了解到run-configuration有一个插件列表,第三方插件没有在那里列出。
我已经了解到应该在产品项目的父项目中创建目标定义。
通过突出显示您的父项目来创建目标定义 - >右键单击 - >新建 - >其它 - >目标定义。在创建过程中,选择"使用工作区配置。"您下载的插件的路径已添加到此位置。 创建目标后,导航到内容选项卡,然后选择管理使用:功能
这减少了可能的依赖项数量,只减少了运行所需的依赖项。
您现在应该会在列表中看到相关性。
创建目标解决了其他二十个左右的依赖项错误,但标题下的那个仍然会引发错误。
我了解到产品文件是在运行时调用第三方插件的文件。
RCP应用程序启动,但我无法在使用本教程创建的绑定类中导入第三方插件,以用于以编程方式获取对象。
http://www.vogella.com/tutorials/EclipseRCP/article.html
我有一个运行程序的shell,只需要为每个窗口实现类,我可以从第三方插件导入中获取对象。
谢谢,
(溶液)
感谢Brian重置我的想法,这让我更多地了解Eclipse,以便弄清楚这一点。
主要问题是外部.jar被识别为缺少的Import-Package。我的是org.apache.commons.beanutils。您必须访问父网站并下载该库。在这个案例中是apache的网站。回购可能有更好的方法。我希望我可以导出具有所有必需依赖项的产品:p
我可以在这里跳过一两步,但这些是我的工作步骤。
将.jar导入Eclipse父项目。右键单击父级并选择New-> Folder-> Name it Lib-> Finish。右键单击Lib-> Import-> File System->导航到.jar。突出显示包含的.jars->右键单击 - >构建路径 - >添加到构建路径。
将缺少的.jar添加到Ant类路径中。 Ant用于使用OSGi构建PDE应用程序。有关说明,请参阅Eclipse帮助。这将允许您丢失的jar在feature-plugins选项卡中变得可见。 Window-> Preferences-> Ant-> Runtime-> ClassPath Tab-> Add jar->导航到丢失的jar
如上所述在父项目中创建目标定义,并将缺少的.jar添加到目标并将目标设置为活动状态。 如果存在目标,则在“位置”窗口小部件窗口中 - >单击“添加” - >“目录” - >“导航到缺少.jar .->下一步 - >验证插件是否在窗口中识别 - >完成。单击右上角的设置为目标平台。
在功能子项目中打开feature.xml。 - >点击添加 - >导航到添加的插件 - >点击确定
全部保存 - 启动产品
现在进入下一个依赖项!
答案 0 :(得分:0)
听起来你正在混淆Eclipse插件与你项目的jar依赖项。听起来你的项目需要一个jar(来自Apache的beanutils jar)。根据您的项目是否使用Maven或ant(或其他内容),将其添加到项目中的方式会有所不同。尝试谷歌搜索“在eclipse中为X版本添加jar”,其中X是用于构建的工具(ant,maven等)。无论你使用什么,最终的目标都是让那个jar在Eclipse中为你的项目显示java Build path-> Libraries。
答案 1 :(得分:0)
在我看来,你需要更好地理解OSGI / eclipse中如何管理依赖关系,因此我同意BrianPipa。
请注意:该主题非常大且不易理解,而且太大而无法在此解释。但不要害怕,谷歌是你的朋友:关于研究主题的几点建议: