2

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

  1. 安装的 Eclipse (3.7.0)
  2. 已安装 Equinox SDK (3.7)
  3. 在 Eclipse 中使用目标平台 OSGi 标准创建了一个新插件
  4. 将一些“hello world”代码放入 BundleActivator 类的启动和停止方法中
  5. 在“运行”一个 OSGi 框架配置中配置,只选择了我的包和“org.eclipse.osgi”包。

运行它会给我以下消息。有人可以帮我让它运行吗?

可以在此处找到错误消息:

http://pastebin.com/2HKsGSsr

osgi> !SESSION 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 命令-line 参数:-dev 文件:C:/Documents and Settings/itsme/eclipse/workspace/.metadata/.plugins/org.eclipse.pde.core/Hello World Example/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]”无法解决。原因:缺少约束:Import-Package: org.apache.jasper.servlet;org.eclipse.osgi.framework.internal.core.AbstractBundle.getResolverError(AbstractBundle.java:1327) 的 version="[0.0.0,6.0.0)"

4

1 回答 1

0

我不确定您是如何完成所遵循的教程的每个步骤的,但是Lars Vogeleclipse 教程非常有用。

我刚刚测试了他的Hello World OSGi 教程(为 Eclipse 3.7 编写),对我来说效果很好,所以我建议尝试一下。

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

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

尝试单击 OSGi 框架运行配置中的Validate Bundles按钮(在调试按钮的下拉菜单中,选择Debug Configurations)并查看是否通过。如果没有,请尝试取消勾选 Target Platform,然后单击Add Required Bundles按钮,然后重试。

我正在运行 Eclipse 3.6,并且能够使用这个 Equinox 3.7 版本版本作为我的目标平台来启动一个新的插件项目,而不会出现任何验证错误。

于 2011-06-25T15:58:22.123 回答