使用bnd工具生成MANIFEST文件

时间:2014-03-17 15:05:17

标签: java eclipse osgi bndtools

我只知道这个工具(bnd工具)的存在,这似乎是解决我正在开发的OSGI应用程序中遇到的问题的完美。我一直在阅读有关它的一些文档,但我必须做错了。

我在上述应用程序中遇到问题,在我无法激活的软件包(OSGI bundle is unable to start)上,并且在我之前的帖子中关注其他用户的建议,我决定尝试使用bnd工具解决它。在我的项目文件夹中,我创建了一个新的运行描述符(新的>运行描述符),在命名为'run'之后,我选择Apache Felix 4和Gogo Shell,然后单击Finish。

现在,当我打开run.bndrun文件时,我得到了这两个错误消息:

  

存储库列表:无法加载OSGI存储库。找不到工作区   来自:/ home / user / proj / sm / workspace OSGI框架:无法加载OSGI框架   名单。找不到工作区:/ home / user / proj / sm / workspace

此文件的内容如下:

-runfw: org.apache.felix.framework;version='[4,5)'
-runee: JavaSE-1.6
-runsystemcapabilities: ${native_capability}

-resolve.effective: active

-runbundles:\
    org.apache.felix.gogo.runtime,\
    org.apache.felix.gogo.shell,\
    org.apache.felix.gogo.command

-runrequires:\
    osgi.identity;filter:='(osgi.identity=org.apache.felix.gogo.shell)',\
    osgi.identity;filter:='(osgi.identity=org.apache.felix.gogo.command)'

如何解决这两个错误?我可以按照我想要的方式使用bnd工具吗?

1 个答案:

答案 0 :(得分:1)

您能否显示完全错误消息。看起来你有一个设置错误。 bnd尝试找到相对于项目的设置。如果你只是应用默认值,这是不可能的。您在文件系统上的工作空间应如下所示:

cnf/
  build.bnd
  ..
my.project
  src/
  bin/
  test/
  bin_test/
  ...