我正在尝试将guice部署到JBoss AS7 (7.2.0-Alpha)中。这是因为有很多罐子。我感兴趣的是
guice是一个主机包,guice和是这个主机的碎片。
当我启动容器时,主机包总是会被安装、解析和激活。这些片段总是会被安装,有时会被解析并“包含”在主机包中,有时不会,这似乎是随机的。
我也尝试过Eclipse,它的行为也是一样的,但是它有能力定义计划,通过定义安装顺序来避免这个问题。(我似乎无论如何都能做到这一点)。
看看OSGi规范,阅读这个question的答案,似乎这就是预期的行为。JBoss是一个OSGi 4.2容器,所以Require-Capability和Provide-Capability头不是一个选项,而且我也不想修改不属于我的jars。
如何使我的主机/片段包可靠地安装和解决?
我有一个想法(我似乎不太愿意这么做)是使用maven-bundle插件/bndtools,并将guice捆绑包合并成一个超级guice包--在构建时有效地完成容器在runtme时没有为我做的事情。
发布于 2012-11-14 17:17:37
正如我在回答您所链接的问题时所说的:如果在主机解析之前安装了片段,那么片段将被附加到主机上。实现这一目标的最简单方法是先安装所有捆绑包(包括片段),然后再允许它们进行解析。
在许多情况下,解决方案是通过尝试启动包来触发的。人们在OSGi中最常见的错误之一是在安装后立即启动每个包。您不能这样做,也就是说,在安装了您打算运行的所有包之前,您不应该启动任何包。
https://stackoverflow.com/questions/13383038
复制相似问题