[英]Exporting jar libraries in an Eclipse plugin
我正在研究具有多个组件的Eclipse插件。 以前,这是一个插件,并且一切正常。 但是,我最近将其分为多个插件,它们是单个功能的一部分。
结构是该功能中有一堆插件。 有一个“核心”插件,其中包含通用代码和库。 其他所有插件都依赖于核心插件。
问题在于,尽管插件可以很好地编译,并且没有关于plugin.xml,清单等的警告,但由于缺少类,插件在运行时无法正常工作。 具体来说,我在核心插件中使用了Google Guava,并且在运行时找不到Guava jar中的类。 还有其他罐子,但这是第一个炸毁的罐子。
我尝试了几种方法来解决此问题:
实际可行的唯一方法是创建一个库插件,该插件实质上将所有jar文件解包并合并。 这里的问题是我然后有了随机文件的混搭。 如果我要升级jar文件,则重新生成该项目很繁琐,而且我怀疑在搜索SVN历史记录以查找该项目时会变得很泥泞。
还有另一种方法可以轻松地删除更新的jar文件并使它以最小的更改工作吗?
导出核心项目中的Guava jar中包含的软件包具有相同的结果:不起作用。
您对此有疑问吗?
据我所知,在Eclipse Equinox中是OSGi容器,而在OSGi中,我们具有使用其他捆绑软件资源的功能。
因此,请确保在此处从正确的位置导出正确的内容。
可能其他捆绑软件无法识别从核心捆绑软件导出的类(请在此处检查所有子捆绑软件中的import-package),或者类加载器中发生了某些错误。
尝试在清单中使用“ Eclipse-Buddy策略”属性。 它可能会工作:-)
我要做的工作是:
笔记:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.