这适用于 Pax Exam 本机容器(Pax Exam 2.3.1),但不适用于 Pax Exam Karaf 容器(0.5.2):
@Configuration
public Option[] config() {
return options(
// karafDistributionConfiguration()
// .frameworkUrl(
// maven().groupId("org.apache.karaf")
// .artifactId("apache-karaf").type("zip"))
// .karafVersion("2.2.6").name("Apache Karaf"),
provision(bundle("reference:file:/path/to.jar")));
}
检查捆绑包是否已安装的测试:
@Inject
BundleContext bundleContext = null;
@Test
public void sameRepositoryProvidesFBServiceAndUserService() {
for (Bundle b : bundleContext.getBundles()) {
if (b.getSymbolicName().equals(myBundleName)) {
return;
}
}
fail("Bundle " + myBundleName + " not found");
}
如果我取消注释karafDistributionConfiguration
并替换bundle(url)
为mavenBundle(groupId, artifactId)
,则测试会在 Pax Exam Karaf 下再次通过。有可能解决吗?我需要使用bundle
在我的工作区中针对捆绑包的开发版本运行测试。