我目前正在使用pax-runner将一些捆绑包部署到equnox中。捆绑包位于文件夹中,其路径将传递给args文件中的runner。我遇到的问题是,在Windows中以与Linux不同的顺序启动相同的bundle部署。在Windows中一切都很好,但是在linux中,bundle似乎是以随机顺序启动的。结果是一些捆绑包以错误的顺序声明,这会导致错误,例如,泽西服务器在jersey-core之前启动,所以我getr a NPE。任何人都可以解释为什么会发生这种情况吗?我是否需要为某些捆绑包指定开始订单?
答案 0 :(得分:3)
我们只扫描目录中的包,所以为什么随机顺序我不能说。但是你肯定不应该依赖那个命令。 OSGi最佳实践表明,您根本不应该依赖启动订单,但如果您不能离开,则必须使用不同的方法来指定启动顺序。例如,您可以将每个启动顺序的包放在不同的文件夹中,并指定每个配置目录的启动顺序。