简单的hello world bundle(osgi)失败了

时间:2011-06-25 15:36:49

标签: java eclipse osgi equinox

我正在努力熟悉OSGI平台,并且我读了一本关于它的德国书。我试着按照每个教程步​​骤来运行一个简单的“hello world”捆绑包但它失败了 以下是我已经完成的步骤:

  1. 已安装的Eclipse(3.7.0)
  2. 已安装的Equinox SDK(3.7)
  3. 使用目标平台OSGi标准在Eclipse中创建了一个新插件
  4. 将一些'hello world'代码放入BundleActivator类的start和stop方法
  5. 在“运行”中配置OSGi Framework配置,仅选择我的捆绑包和'org.eclipse.osgi'捆绑包。
  6. 运行此命令会给我以下消息。任何人都可以帮助我让它运行吗?

    可在此处找到错误消息:

    http://pastebin.com/2HKsGSsr

      

    的OSGi> !会议2011-06-25 09:30:13.625   ----------------------------------------------- eclipse.buildId = unknown java.version = 1.6.0_24 java.vendor = Sun.   Microsystems Inc. BootLoader常量:OS = win32,ARCH = x86,WS = win32,   NL = de_DE命令行参数:-dev file:C:/ Documents and   设置/ ITSME /蚀/工作区/ .metadata / .plugins / org.eclipse.pde.core /你好   世界范例/ dev.properties -os win32 -ws win32 -arch x86 -consoleLog   -console

         

    !ENTRY org.eclipse.equinox.jsp.jasper 4 0 2011-06-25 09:30:17.609   !MESSAGE FrameworkEvent ERROR!STACK 0   org.osgi.framework.BundleException:捆绑包   “org.eclipse.equinox.jsp.jasper_1.0.300.v20110502 [37]”不可能   解决。原因:缺少约束:导入包:   org.apache.jasper.servlet; version =“[0.0.0,6.0.0)”at   org.eclipse.osgi.framework.internal.core.AbstractBundle.getResolverError(AbstractBundle.java:1327)

1 个答案:

答案 0 :(得分:0)

我不确定您是如何完成您所关注的教程的每一步,但Lars Vogeleclipse tutorials非常有用。

我刚测试了他的Hello World OSGi tutorial(为Eclipse 3.7编写)并且它对我来说很好,所以我建议尝试。

或者,如果您坚持要对现有项目进行故障排除:

听起来您没有正确激活目标平台。

尝试单击OSGi框架运行配置中的验证软件包按钮(在调试按钮的下拉菜单中,选择调试配置)并查看是否通过。如果没有,请尝试取消目标平台,然后单击添加必需的捆绑包按钮,然后重试。

我正在运行Eclipse 3.6,并且我能够使用this equinox 3.7 release build作为我的目标平台启动一个新的插件项目,而没有任何验证错误。