我一直在关注这个tutorial video它展示了如何运行球衣服务器(编辑:通过Apache表情 JAX-RS服务器,请参阅接受的答案)在OSGI。这是一个短片,整个过程似乎非常清晰。我不清楚的是HelloWorldResource是如何加载到Jersey中的。 HelloWorldResource使用Apache Felix DependencyActivatorBase作为服务注册到OSGI容器中(这很好用)。从我收集的Apache Felix Whiteboard应该以某种方式奇迹般地映射为泽西资源,但是当我去运行它时,我得到404。泽西资源未解决OSGI
我知道服务映射正确,因为它显示在控制台中时,我发出'服务'命令。我知道服务器正在运行,或者我不会找到404未找到。我已经仔细检查了捆绑包并相信所有安装都是正确的。
任何提示赞赏。
对我来说,关键是确保眨眼和白板正在加载。如果Wink只是一个JAX-RS impl,那么为什么Amdatu不注册这个资源,如果我只是丢弃在泽西服务器而不是Wink中? – harschware
公平的问题。不幸的是,注册JAX-RS资源的编程API没有标准化,所以需要一些实现特定的代码。 –
我已经有了一个404以及这个演示,但发生,因为两个Jetty捆绑在哪里部署。 (2.2.2和2.2.0)2.2.2位于我的localrepo并手动放置在'运行要求'区块中。另一个(2.2.0)使用Bnd工具的“解决”按钮解决,并从BndTools Hub下载。根据解决方案对话框,白板束需要2.2.0。这可能是Bnd工具中的一个错误吗?因为我认为两个Jetty捆绑在哪里都是有效的。 – Treur