【问题标题】:External jars in eclipse plug-ineclipse插件中的外部jar
【发布时间】:2012-01-13 07:32:19
【问题描述】:

我正在创建一个 Eclipse 插件,但在使用外部 jar 时遇到了问题。在我的插件中,我启动了一个需要一些外部 jar 的应用程序。我需要做什么才能使用插件的其余部分自动导出它们?

提前致谢:)

【问题讨论】:

    标签: java eclipse plugins jar


    【解决方案1】:

    Andy Thomas 的方法大多可行,但您还需要在新的 wrapper 插件中导出现有插件所需的包,以便插件在运行时访问它们。

    【讨论】:

    • 这个答案更适合评论。也欢迎来到 SO :)。
    【解决方案2】:
    1. 将所需的外部JAR文件复制到你的插件项目中的一个文件夹中;我喜欢称这个文件夹为 lib,但不管对你有用。
    2. ..但与 Zsolt Török 相对(他的解决方案对我不起作用)我双击 plugin.xml,转到构建选项卡,在底部,我单击添加 JAR...,嘿presto,它显示了我的项目,然后我按照步骤 1 导航到 lib 并包含外部 jar。

    【讨论】:

      【解决方案3】:

      这对我有用。如果它们确实是外部的,并且这是您公司的一个项目,它不会处于“狂野”状态并且您控制环境,并且您将它们放在文件系统上,例如 /opt/java/lib/somedir /some.jar 您可以通过将它们添加到 META-INF 下的 MANIFEST.MF 中的 Bundle-ClassPath 条目来告诉捆绑包在哪里找到它们。语法是: 捆绑类路径:., 外部:/opt/java/lib/somedir/some.jar, 外部:/opt/java/lib/someotherdir/someother.jar

      此外,在构建路径中使用这些也是谨慎的做法,这样您就可以在构建和运行时环境中使用相同的 jar。

      我已经在我们的文件系统上的 Jars 是多用途的(例如 apache-commons)的情况下这样做了,并且我们再次控制了环境。

      参考以下内容: http://www.eclipsezone.com/eclipse/forums/t51870.html

      【讨论】:

      • 谢谢!!!这是实际的答案,它有效!请注意,*.jar 不起作用。
      【解决方案4】:

      这是一种简单的方法,尽管它确实创建了一个额外的插件。

      在 Eclipse 中:

      • 选择New>Other,然后选择Plug-in Development>Plug-in from existing JAR archives
      • 选择要包含的罐子。
      • 在下一页上,配置插件。
      • 在插件清单中,将新插件添加为依赖项。
      • 在插件的“属性”中,在Projects 选项卡上的Java Build Path 下添加新项目。

      编辑:您可以将 jars 合并到您的插件中,而是将下面的 Zsolt 和 user714965 的两个建议结合起来。

      【讨论】:

      • 如果合并多个 jar,您还需要确保他们的许可证允许。
      【解决方案5】:
      1. 打开您的plugin.xml
      2. 转到Runtime 选项卡并将您的JAR 添加到类路径部分

      【讨论】:

      • 重要提示: 仅添加包含文件夹是不够的。此外,在插件的项目设置中添加依赖项(而不是 MANIFEST/plugin.xml)只会在编译时“隐藏”错误。
      • 这只会添加来自当前项目的 jars。无法添加外部 jar(位于磁盘上的某处),但它是不可移植的,但当你需要它时,你需要它。
      【解决方案6】:

      按照以下步骤,导出插件时将包含外部 JAR:

      1. 将所需的外部JAR文件复制到插件项目的文件夹中;我喜欢将此文件夹命名为 lib,但不管对你有用。
      2. 在您的插件项目中打开build.properties,然后在左侧的Binary Build 部分中检查要包含在构建中的 JAR。

      【讨论】:

      • 虽然在同一个包中组合 jar 是可能的,但这不是在 OSGi 环境中的“正确”方式 - stackoverflow.com/questions/3013583/…
      • @Robin 没错,我上面描述的是解决手头问题的快速而肮脏的解决方案。
      猜你喜欢
      • 2016-10-20
      • 1970-01-01
      • 1970-01-01
      • 2012-04-07
      • 1970-01-01
      • 2011-09-11
      • 1970-01-01
      • 2014-02-24
      • 1970-01-01
      相关资源
      最近更新 更多