我目前正在使用pax-runner将许多包部署到equnox中。包在一个文件夹中,这个包的路径在一个args文件中传递给runner。我遇到的问题是,在windows和linux中,相同的bundle部署是以不同的顺序开始的。在windows中,一切都很好,但是在linux中,包似乎是随机启动的。其结果是,一些包的顺序是错误的,这会导致错误,例如jersey-server在jersey-core之前启动,所以我得到了一个NPE。有人能解释一下为什么会发生这种情况吗?我是否需要为某些捆绑包指定起始顺序?
发布于 2010-11-03 22:38:51
我们只是扫描目录中的包,所以为什么我不能说随机顺序。但可以肯定的是,您不应该依赖于该顺序。OSGi最佳实践表明,您根本不应该依赖开始顺序,但是如果您不能离开,那么您将不得不使用不同的方法来指定开始顺序。例如,您可以按启动顺序将包放在不同的文件夹中,并根据配置的目录指定启动顺序。
https://stackoverflow.com/questions/4087035
复制相似问题