2016-06-22 37 views
0

我刚开始学习如何构建一个bnd OSGI项目。 我尝试运行一个非常简单的项目,没有任何错误消息,但是当我到localhost时,它显示“HTTP ERROR:404”。bnd osgi项目没有通过Firefox运行

的简单类:

enter image description here

的Activator类: enter image description here

休息编译依赖

enter image description here

运行依赖

enter image description here

HTTP错误:

enter image description here

感谢您的帮助!

回答

3

您的课程使用jax-rs注释进行注释并发布OSGi服务。如果这将服务公开为REST资源,则取决于您安装的软件包。

您必须安装一个监视此类服务的包并为它们创建REST端点。

请参阅enter link description here 我认为您至少还需要将org.amdatu.web.wink包添加到您的bdnrun文件中。

+0

我已经加入几束(包括web.wink),并尝试创建一个激活剂类,但它不工作...我这是新的,感谢您的帮助 – xiao

+0

您目前正在使用声明式服务。所以你不应该使用Activator。如果您想在组件出现时运行某些内容,请使用@Activate批注。 –

+0

我已将其删除。它仍然不起作用。 – xiao

4

org.amdatu.web.rest.wink捆绑包的最新2.0.4版本与Felix Http Jetty 3.x不兼容。

如果您将该捆绑包的版本固定到2.0.3版本,应该按预期工作。要做到这一点变化org.amdatu.web.rest.wink进入你的runbnd.bndrun -runbundles到:

org.amdatu.web.rest.wink;version='[2.0.3,2.0.3]'

+0

我认为就是这样。演示软件包具有相同的问题,请参阅邮件列表:http://lists.amdatu.org/pipermail/users/2016-May/000455.html – Jeroen