我在Eclipse中安装了Bndtools并尝试了他们的快速教程:http://bndtools.org/tutorial.html
但是,只要我想通过"运行OSGi"来启动一个非常简单的组件。按钮,我收到启动错误提示:
Status ERROR: bndtools.core code=0 At least one of the required parameters could not be detected; specify an override. Detected: osgi.native;osgi.native.osname:List<String>="null";osgi.native.osversion:Version=null;osgi.native.processor:List<String>="x86-64,amd64,em64t,x86_64", for cmd: native_capability, arguments; [native_capability] null
Status WARNING: bndtools.core code=0 No translation found for macro: native_capability, in org.example.impls null
Apache Felix Gogo Shell在OSGi Framework Run设置的某些配置下启动,但错误仍然存在。我尝试使用Eclipse Kepler和Lunar,以及JDK 7和8。
我不知道该如何处理错误和警告。某处似乎遗漏了某些东西。有谁知道如何解决这个问题? 提前谢谢!
答案 0 :(得分:1)
为了完整起见;此错误是由bnd中的错误引起的(此处报告:https://github.com/bndtools/bnd/issues/573)。无法识别Java报告的操作系统名称/版本,因为此版本的bnd是在Windows 8.1之前发布的。
除了输出中的错误之外,应该产生很小的影响。运行包含本机代码的bundle可能会遇到问题,但是大多数包含纯Java的bundle都可以正常工作。
答案 1 :(得分:0)
之前我没见过这个错误。你选择了一个OSGi框架和执行环境吗?在运行配置?
答案 2 :(得分:0)
请查看您的bnd文件是否包含启动说明。通常,启动描述在名为.bndrun文件的不同文件中定义。 (bnd.bnd文件实际上也可以充当.bndrun文件。)bndrun文件从工作空间继承属性,而不是配置文件。
在这种情况下 - 您必须单击.bndrun文件中的运行按钮