【问题标题】:Adding jars to a Eclipse PlugIn将 jars 添加到 Eclipse 插件
【发布时间】:2011-08-10 07:31:00
【问题描述】:

我尝试构建一个 Eclipse 插件,该插件必须使用依赖于其他 jar 的自写 jar,但我不知道从哪里开始将 jar 作为单独的插件处理。我必须在任何地方使用 .jar 文件还是我错了?

【问题讨论】:

标签: eclipse plugins import jar


【解决方案1】:

我想我找到了合适的解决方案;诀窍是您必须通过 Eclipse 实现所有文件。我只是在这里复制发布到 news.eclipse.platform 的解决方案:


在插件中包含罐子:


  1. 使用Import > File System 将jar 文件导入到您的插件项目中,例如在<project>/lib 目录中。
  2. 使用Add... 按钮将jar 添加到plugin.xml > Runtime 选项卡的类路径部分。
  3. 使用New...按钮添加“.”图书馆回来(当然没有引号)。
  4. 确保您的二进制构建在 plugin.xml > Build 选项卡上导出新的 jar 文件。
  5. 保存
  6. 在项目上,使用context menu > PDE Tools > Update Classpath 将jar正确添加到eclipse项目类路径中。

【讨论】:

  • 如果我有两个引用同一个 jar 文件的插件怎么办...我不想添加两次?我可以在一个插件中导出包并在另一个插件中引用它吗?这是正确的做法吗?
  • 除了使用 Eclipse 导入文件外,您还可以创建一个符号链接,从项目文件夹指向其他位置的文件位置。例如指向本地 Maven 存储库的符号链接。
【解决方案2】:

什么是自写jar?

通常您使用 OSGi MANIFEST.MF 将第 3 方 jar 包转换为捆绑包(请参阅新建>插件开发>现有 JAR 存档中的插件),或者将它们包含在您的 plugin.jar 中并添加额外的 Bundle-ClassPath 条目正如 TomaC 所说。

如果您的意思是在运行时您的插件将创建一个新的 jar 并需要加载它,那是不同的。

【讨论】:

  • 这更准确地指的是我作为 runnabl jar 导出的项目;我还尝试使用“现有 Jar 档案中的插件”-向导,但它没有用。我想要的过程需要一个 xml 解析器,例如依此类推,如果我按下一个按钮,则必须调用一个后台进程,该进程调用一个 http 请求,将其解析为 xml 并将一些值返回给插件
【解决方案3】:

项目属性 -> Java 构建路径 -> 添加外部 jars。这是你要找的吗?

【讨论】:

  • 也许尝试将 .jar 包装在插件中,然后将该插件添加为依赖项。
  • 这就是重点,我不明白;当这个 jar 依赖于其他 jar 时,我如何将 jar 包装在插件中...... eclipse 中的 jar 向导创建插件效果不佳,因为我无法从插件中导入类,尽管我在依赖项中看到它
  • 尝试创建一个新的插件项目。然后只需将您的 jar 文件复制/粘贴到新项目中即可。转到运行时-> 类路径添加添加 .jar。构建项目,然后将其添加为您的主插件的依赖项,看看您现在是否可以导入。
  • 我在插件项目文件夹的根目录中复制了 jars,并在类路径中添加了它们的名称,但是当我尝试将其添加到我的依赖项时,我找不到它们
  • 我刚刚在 jdom 上创建了一个小型测试包装插件。这是来自包装器 manifest.mf Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: PluginWrapper Bundle-SymbolicName: PluginWrapper Bundle-Version: 1.0.0.qualifier Bundle-RequiredExecutionEnvironment: JavaSE-1.6 Bundle-ClassPath: jdom.jar1 的代码。使用这个包装器,我可以在测试插件中导入 org.jdom 包。
猜你喜欢
  • 1970-01-01
  • 2012-03-14
  • 2011-11-17
  • 2020-03-31
  • 2011-04-05
  • 2013-06-18
  • 2019-10-14
  • 2012-06-11
  • 1970-01-01
相关资源
最近更新 更多