我目前正在使用Netbeans 7.1开发maven osgi包。虽然很容易从netbeans创建新的maven osgi捆绑项目,但我一直在努力思考如何运行它。简单地从netbeans运行它给我一个错误,告诉我缺少要求(例如缺少slf4j)。
然后我尝试了另一种方式。我在终端中运行了equinox,然后手动安装我的项目jar。但是我还必须手动解决所有依赖项。
有没有办法从OSGI包中自动下载所有必需的依赖项并将其安装到正在运行的OSGI框架?
之前的
答案 0 :(得分:1)
AFAIK在Netbeans中没有OSGi的自动化(尽管我可能错了)。您在Eclipse中看到的支持仅适用于Eclipse插件而非vanilla OSGi。
您最好的选择是进行一些集成测试或通过maven目标启动,pax-exam或bndtools甚至pax-runner将允许您从IDE / maven启动。
但是我不知道任何能自动解决所有依赖关系的东西(传递依赖关系和你所依赖的API的实现会有问题)
答案 1 :(得分:1)
这是一个巨大的痛苦,毫无疑问。我过去做的是做一个完整的构建(如果你已经正确配置了清单应该包括所有必要的依赖项),这将产生必要的jar。然后我连接我的Tomcat从我的目标存储库中拾取jar并自动将其配置为hotswap。
如果您想从netbeans中运行您的应用服务器,那么这是一个偏好问题,但我更喜欢在IDE之外执行单独的tomcat实例。它会以任何方式工作。