首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何确保在主机包之前安装我的OSGi片段?

如何确保在主机包之前安装我的OSGi片段?
EN

Stack Overflow用户
提问于 2012-11-14 16:34:22
回答 1查看 2K关注 0票数 4

我正在尝试将guice部署到JBoss AS7 (7.2.0-Alpha)中。这是因为有很多罐子。我感兴趣的是

  • 盖斯
  • guice-servlet
  • 盖斯-坚持

guice是一个主机包,guice和是这个主机的碎片。

当我启动容器时,主机包总是会被安装、解析和激活。这些片段总是会被安装,有时会被解析并“包含”在主机包中,有时不会,这似乎是随机的。

我也尝试过Eclipse,它的行为也是一样的,但是它有能力定义计划,通过定义安装顺序来避免这个问题。(我似乎无论如何都能做到这一点)。

看看OSGi规范,阅读这个question的答案,似乎这就是预期的行为。JBoss是一个OSGi 4.2容器,所以Require-CapabilityProvide-Capability头不是一个选项,而且我也不想修改不属于我的jars。

如何使我的主机/片段包可靠地安装和解决?

我有一个想法(我似乎不太愿意这么做)是使用maven-bundle插件/bndtools,并将guice捆绑包合并成一个超级guice包--在构建时有效地完成容器在runtme时没有为我做的事情。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-14 17:17:37

正如我在回答您所链接的问题时所说的:如果在主机解析之前安装了片段,那么片段将被附加到主机上。实现这一目标的最简单方法是先安装所有捆绑包(包括片段),然后再允许它们进行解析。

在许多情况下,解决方案是通过尝试启动包来触发的。人们在OSGi中最常见的错误之一是在安装后立即启动每个包。您不能这样做,也就是说,在安装了您打算运行的所有包之前,您不应该启动任何包。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13383038

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档