gpt4 book ai didi

java - 在 Eclipse 插件中导出 jar 库

转载 作者:行者123 更新时间:2023-11-30 11:31:58 26 4
gpt4 key购买 nike

我正在开发一个包含多个组件的 Eclipse 插件。以前这是一个单一的插件,一切都很好。但是,我最近将其分解为多个插件,这些插件是单个功能的一部分。

结构是功能中有一大堆插件。有一个包含公共(public)代码和库的“核心”插件。所有其他插件都依赖于核心插件。

问题是虽然插件编译正常并且没有关于 plugin.xml、 list 等的警告,但由于缺少类,插件在运行时无法工作。具体来说,我在核心插件中有 Google Guava,并且在运行时无法找到 Guava jar 中的类。还有其他 jar ,但这是第一个爆炸的 jar 。

我尝试了几种方法来解决这个问题:

  • 导出核心项目中 Guava jar 中包含的包具有相同的结果:不起作用。
  • 将 Guava jar 放入每个插件中确实可行,但由于体积过大而不理想。
  • 根据我的搜索,我可以将 标记添加到我的 plugin.xml,Eclipse 会立即忽略它,因为我有一个 list 。我还没有找到向 list 添加等效设置的方法。

唯一可行的方法是创建一个库插件,它基本上解压并合并所有的 jar 文件。这里的问题是我然后有一堆随机文件。如果我想升级一个 jar 文件,重新生成项目是很乏味的,我怀疑在搜索项目的 SVN 历史记录时会一目了然。

是否有另一种方法可以轻松地放入更新的 jar 文件并使其以最少的更改工作?

最佳答案

Exporting packages contained in the Guava jar in the core project has the same results: does not work.

你有没有想过这个?

据我所知,在 Eclipse Equinox 中是 OSGi 容器,在 OSGi 中我们可以使用其他捆绑资源。

因此,请确保您从正确的位置导出正确的内容。

可能,其他包无法识别从核心包导出的类(检查所有子包中的 import-package)或者类加载器中发生的一些错误。

尝试在 list 中使用“Eclipse-Buddy 策略”属性。它可能有效:-)

关于java - 在 Eclipse 插件中导出 jar 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16918500/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com