我正在尝试将 guice 部署到 JBoss AS7 (7.2.0-Alpha) 中。这是许多罐子。我感兴趣的是
- 吉斯
- guice-servlet
- guice-persist
guice 是一个主机包,guice-servlet 和 guice-persist 是这个主机的片段。
当我启动容器时,主机包总是被安装、解析并激活。片段总是会被安装,有时会被解析并“包含”在主机包中,有时不会。这似乎是随机的。
我也尝试过 Eclipse Virgo 并且行为是相同的,但是它具有定义计划的能力,您可以通过定义安装顺序来规避这个问题。(无论如何我似乎都能让它工作)。
查看 OSGi 规范并阅读此问题的答案,这似乎是预期的行为。JBoss 是一个 OSGi 4.2 容器,因此不能选择Require-Capability
andProvide-Capability
标头 - 另外我真的不想修改不属于我的 jar。
我应该如何让我的主机/片段包可靠地安装和解析?
我有一个想法(我不愿意这样做,因为它看起来不正确)是使用 maven-bundle-plugin/bndtools 并将 guice 包合并到一个单一的超级 guice 包中 - 在构建时有效地执行容器在 runtme 未能为我做什么。