首页 文章

访问osgi bundle的lib jar

提问于
浏览
3

当我显示这些依赖项时,我已经看到了它们,并且eclipse会自动在插件依赖列表中添加该捆绑包 . 问题是我在 import org.apache.http 时遇到编译错误 . 如果我探索捆绑包,它只在包org.apache.http中有一个Activator,并在lib文件夹中包含我需要的包的jar . 我该如何访问这些包?启动激活器并在运行时获取我需要的类?一个解决方案是手动将org.apache.http jar添加到我的包's build path. Sorry if it'这是一个愚蠢的问题......

谢谢

2 回答

  • 1

    关于构建问题,您可能需要查看this question . 谁 Build 你的目标平台是采取错误的方法,这是导致你的悲伤 .

    您的目标平台实际上应该使用OSGi versions of the commons libraries . 如果OSGi就绪版本不可用,您可以从Springsource bundle repository获取它们 .

    如果这不是一个可能性(解决此问题),那么您只需更改构建的类路径以包含相应的库 . 它应该已经在运行时工作了 .

    PS - 这不是一个愚蠢的问题;-)

  • 0

    当您尝试启动捆绑包时,您基本上需要确保您的OSGi容器运行 org.apache.http 包 . 有几种方法可以做到这一点 . 您可以手动将jar复制到deploy目录中,也可以使用OSGi Bundle Repository (OBR)之类的东西 . 使用OBR,当您安装捆绑包时,也会下载并安装所有依赖项 .

    您可以使用maven OSGi plugin来托管自己的OBR . 这将读取捆绑包的清单文件,并使用该信息创建本地OBR . 然后,您可以从控制台使用OBR来安装捆绑包及其所有依赖项 .

相关问题