我正在调查在Felix中使用OBR作为大型应用程序的部署选项,但遇到了一些初步障碍。
使用maven-bundle-plugin将我的本地.m2存储库索引为OBR
mvn org.apache.felix:maven-bundle-plugin:2.3.7:index
启动了Apache Felix并添加了OBR集合
obr:repos add file:///~/.m2/repository/repository.xml
尝试部署包含整个应用程序的bundle依赖列表的jar
obr:deploy --required-only --start com.conorjgall.application.definition
由于使用了Spring的依赖注入,javax.inject中的一些包中有一个包需求。但是,在OBR中,有多个捆绑广告宣传javax.inject的功能。它在Spring捆绑包和Google Guice捆绑包中都可用。不幸的是,OBR解析器似乎选择了Guice implmentation,这阻止了我的应用程序启动。
如果我从OBR索引中删除Guice库,则OBR解析器永远不会找到它,因此使用了Spring实现,并且应用程序启动时没有问题。