【问题标题】:External jars not resolved as bundles in MANIFEST.MF未在 MANIFEST.MF 中解析为包的外部 jar
【发布时间】:2012-06-26 12:32:31
【问题描述】:

更新问题:

我不得不从我得到的一些来源导入一个项目。该项目抱怨缺少进口。因此,我从互联网上下载了 .jar 并将它们添加为外部 jar。

在我的 Eclipse Indigo Java EE 中,我按照 How to import a jar in Eclipse 将缺少的 .jar 文件添加到 Java 项目中

添加jar后类中import语句的错误消失了。但是,MANIFEST.MF 会引发 bundle not resolved 错误。 源中存在的 MANIFEST.MF 文件有一个“Require-Bundle”,其中列出了这些(可能已经被他们捆绑但没有给出捆绑包),我得到的错误是:

例如: org.apache.commons.configuration;bundle-version="1.7.0"

无法解析捆绑“org.apache.commons.configuration”

如何解决?

提前致谢

【问题讨论】:

  • 使用捆绑包/插件时,您永远不应该直接更新构建路径。你想要的 jar 包已经是 OSGi 包了吗?它是您目标平台的一部分(用于编译)吗?
  • 我的 .jar 不是 OSGi 包。我已包含在我的 Java 项目的构建路径中。什么是 OSGi 捆绑包。为什么要将 .jar 转换为 bundle 以及如何转换?
  • 查看 stackoverflow.com/q/3594024/713646stackoverflow.com/q/762721/713646 解释 jar 和 OSGi 包之间的关系
  • 我想,我必须重新措辞一下。我不得不从我得到的一些来源导入一个项目。该项目抱怨缺少进口。因此,我从互联网上下载了 .jar 并将它们添加为外部 jar。源文件中存在的 MANIFEST.MF 文件有一个“Require-Bundle”,其中列出了这些文件(可能已经被他们捆绑,但没有给出捆绑包)。这些行引发了我抱怨的错误。请帮助
  • 请使用该信息更新您的问题。

标签: java eclipse


【解决方案1】:

您需要检查该捆绑包是否为 OSGi 捆绑包。展开并查看其 MANIFEST.MF。您应该能够从获得您尝试导入的项目的同一位置获得该捆绑包的 OSGi 版本。然后将该捆绑包添加到您的目标平台。请参阅Preferences>Plug-in Development>Target Platform 您可以编辑您的活动平台或从全新安装的 eclipse 创建一个新平台。

【讨论】:

    猜你喜欢
    • 2016-07-21
    • 2012-07-25
    • 2017-10-04
    • 2015-08-17
    • 2013-11-23
    • 1970-01-01
    • 1970-01-01
    • 2018-11-15
    • 1970-01-01
    相关资源
    最近更新 更多