我正在尝试在 OSGi 容器中运行集成测试,即嵌入在 Eclipse 中的 Equinox 容器,在远程模式下使用 Arquillian。
我按照JBoss OSGI 网站上的说明进行操作。所以我首先通过添加这些人工制品(我通过浏览jboss 存储库找到)来配置我的目标平台:
<dependency>
<groupId>org.jboss.arquillian.osgi</groupId>
<artifactId>arquillian-osgi-bundle</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<!-- required by arquillian-osgi-bundle -->
<groupId>org.jboss.logging</groupId>
<artifactId>jboss-logging</artifactId>
<version>3.1.0.GA</version>
</dependency>
<dependency>
<groupId>org.jboss.osgi.jmx</groupId>
<artifactId>jboss-osgi-jmx</artifactId>
<version>1.0.10</version>
</dependency>
当我尝试验证捆绑包时,我从 jboss-osgi-jmx 得到不满意的导入:
- 缺少包 org.jboss.osgi.spi.capability
- 缺少包 org.jboss.osgi.testing
显然,丢失的包属于这些工件(再次通过浏览找到):
<!-- osgi.spi : this one ?-->
<dependency>
<groupId>org.jboss.osgi</groupId>
<artifactId>jboss-osgi-spi</artifactId>
<version>1.0.10</version>
</dependency>
<!-- or that one ?-->
<dependency>
<groupId>org.jboss.osgi.spi</groupId>
<artifactId>jbosgi-spi</artifactId>
<version>1.0.26</version>
</dependency>
<!-- osgi.testing -->
<dependency>
<groupId>org.jboss.osgi.testing</groupId>
<artifactId>jbosgi-testing</artifactId>
<version>1.0.4</version>
</dependency>
但是这些工件都不是 OSGI 包,所以我遇到了未解决的约束。
所以,我的问题是:
- 我搞砸了我的平台配置吗?
- 是否有人已经在远程模式下在非 JBoss osgi 容器中成功使用 Arquillian(普通的 felix 可以)?