You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Arquillian与JUnit时无法创建EventTestRunnerAdaptor实例求助

解决Arquillian测试中EventTestRunnerAdaptor实例创建失败问题

你遇到的java.lang.RuntimeException: Could not create new instance of class org.jboss.arquillian.test.impl.EventTestRunnerAdaptor错误,核心原因是缺少Arquillian核心测试实现类的依赖,同时可能存在依赖版本不匹配的问题。

解决方案

1. 引入Arquillian BOM统一版本管理

首先在pom.xml的dependencyManagement中添加Arquillian BOM,避免不同模块版本冲突:

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.jboss.arquillian</groupId>
            <artifactId>arquillian-bom</artifactId>
            <version>1.1.15.Final</version>
            <scope>import</scope>
            <type>pom</type>
        </dependency>
    </dependencies>
</dependencyManagement>

2. 补充缺失的核心依赖

添加以下Arquillian核心测试相关依赖(scope保持为test):

<dependency>
    <groupId>org.jboss.arquillian.test</groupId>
    <artifactId>arquillian-test-impl-base</artifactId>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>org.jboss.arquillian.core</groupId>
    <artifactId>arquillian-core-impl-base</artifactId>
    <scope>test</scope>
</dependency>

3. 验证版本一致性

确保所有已引入的Arquillian依赖(比如arquillian-glassfish-embedded-3.1)版本与BOM中定义的版本兼容。如果使用的GlassFish嵌入式容器适配器版本较旧,可能需要调整BOM版本至对应兼容的Arquillian核心版本(比如适配GlassFish 3.1的容器适配器对应Arquillian 1.0.x系列)。

原因说明

EventTestRunnerAdaptor类属于arquillian-test-impl-base模块,你的现有依赖中缺少该核心实现模块,导致Arquillian无法初始化测试运行适配器。同时未统一版本管理可能引发的类加载冲突,也会导致这类实例创建失败。

内容的提问来源于stack exchange,提问作者Albert Albatros

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 20:25:47