java - 运行Pax考试时出现IllegalStateException

运行Pax考试时出现以下异常。我的配置仅包含来自文件系统的单个捆绑包,以及junit和felix。知道为什么会这样吗?

java.lang.IllegalStateException: Stream handler unavailable due to: null
    at org.apache.felix.framework.URLHandlersStreamHandlerProxy.openConnection(URLHandlersStreamHandlerProxy.java:311)
    at java.net.URL.openConnection(URL.java:945)
    at org.apache.felix.framework.cache.JarRevision.initialize(JarRevision.java:155)
    at org.apache.felix.framework.cache.JarRevision.<init>(JarRevision.java:82)
    at org.apache.felix.framework.cache.JarRevision.<init>(JarRevision.java:60)
    at org.apache.felix.framework.cache.BundleArchive.createRevisionFromLocation(BundleArchive.java:868)
    at org.apache.felix.framework.cache.BundleArchive.reviseInternal(BundleArchive.java:549)
    at org.apache.felix.framework.cache.BundleArchive.<init>(BundleArchive.java:148)
    at org.apache.felix.framework.cache.BundleCache.create(BundleCache.java:251)
    at org.apache.felix.framework.Felix.installBundle(Felix.java:2541)
    at org.apache.felix.framework.Felix.installBundle(Felix.java:2501)
    at org.apache.felix.framework.BundleContextImpl.installBundle(BundleContextImpl.java:150)
    at org.apache.felix.framework.BundleContextImpl.installBundle(BundleContextImpl.java:123)
    at org.ops4j.pax.exam.nat.internal.NativeTestContainer.installAndStartBundles(NativeTestContainer.java:319)
    at org.ops4j.pax.exam.nat.internal.NativeTestContainer.start(NativeTestContainer.java:163)
    at org.ops4j.pax.exam.spi.reactors.AllConfinedStagedReactor.invoke(AllConfinedStagedReactor.java:67)
    at org.ops4j.pax.exam.junit.JUnit4TestRunner$2.evaluate(JUnit4TestRunner.java:284)
    at org.ops4j.pax.exam.junit.JUnit4TestRunner.run(JUnit4TestRunner.java:93)


编辑:我正在使用Pax考试2.5.0,以下是我的配置方法。

@Configuration
public Option[] config() {
    return options(
            bundle("file:/home/nufail/mybundle.jar"),
            junitBundles(),
            felix().version("3.2.2")
    );
}

最佳答案

对于4.9.2版,通过将以下依赖项添加到maven解决了该问题。

<dependency>
   <groupId>org.ops4j.pax.exam</groupId>
   <artifactId>pax-exam-link-mvn</artifactId>
   <version>4.9.2</version>
   <scope>test</scope>
</dependency>

本文翻译自 https://stackoverflow.com/questions/11880180/

网站遵循 CC BY-SA 4.0 协议,转载或引用请注明出处。

标签 java testing osgi pax pax-exam


相关文章:

java - 其他线程正在引用的已卸载OSGi捆绑包中的对象会发生什么情况?

java - 使用Tomcat,@ WebFilter不能与web.xml中的<filter-mapping>一起使用

java - 改善mysql JDBC插入调用

unit-testing - 如何在Jest的单元测试中访问全局常量?

java - 进行中的调试测试

java - 您是否在实际项目中使用过Quickcheck [关闭]

java - 由于SSL问题,无法使用JDBC(基于连接字符串和示例提供)连接到Azure

java - 在Inno Setup中使用AfterInstall时如何运行包含空格的路径(捆绑的JRE)的命令

tomcat - 春季WS Osgi示例

java - 如何在通常的java代码中运行OSGi框架?