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

升级至Wildfly 26.1.3.Final(JakartaEE9)时Arquillian集成测试失败

问题解决思路与方案

核心问题定位

你当前的核心矛盾是使用了Wildfly Jakarta EE8的工具BOM适配Jakarta EE9的应用环境,导致Arquillian版本被锁定在1.6.0,手动升级单个组件后出现版本割裂的依赖冲突。

分步解决方案

1. 替换为Wildfly Jakarta EE9专属工具BOM

Wildfly 26.1.3.Final提供了对应Jakarta EE9的工具BOM,替换原EE8的BOM:

<dependencyManagement>
    <dependencies>
        <!-- 移除原wildfly-jakartaee8-with-tools依赖 -->
        <dependency>
            <groupId>org.wildfly.bom</groupId>
            <artifactId>wildfly-jakartaee9-with-tools</artifactId>
            <version>26.1.3.Final</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

2. 统一锁定Arquillian 1.8.0版本

在dependencyManagement中引入Arquillian的BOM,确保所有核心组件版本一致:

<dependencyManagement>
    <dependencies>
        <!-- 先引入Wildfly Jakarta EE9工具BOM -->
        <dependency>
            <groupId>org.wildfly.bom</groupId>
            <artifactId>wildfly-jakartaee9-with-tools</artifactId>
            <version>26.1.3.Final</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
        <!-- 引入Arquillian核心BOM覆盖版本 -->
        <dependency>
            <groupId>org.jboss.arquillian.core</groupId>
            <artifactId>arquillian-core-bom</artifactId>
            <version>1.8.0.Final</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
        <dependency>
            <groupId>org.jboss.arquillian.container</groupId>
            <artifactId>arquillian-container-bom</artifactId>
            <version>1.8.0.Final</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

3. 清理冗余依赖排除

移除之前手动添加的无效依赖排除,让BOM自动管理版本一致性。如果执行mvn dependency:tree后仍有1.6.0版本的Arquillian组件残留,找到对应的依赖源,针对性排除:

<!-- 示例:排除Wildfly Arquillian容器依赖中的旧版本组件 -->
<dependency>
    <groupId>org.wildfly.arquillian</groupId>
    <artifactId>wildfly-arquillian-container-managed</artifactId>
    <scope>test</scope>
    <exclusions>
        <exclusion>
            <groupId>org.jboss.arquillian.container</groupId>
            <artifactId>arquillian-container-spi</artifactId>
        </exclusion>
        <exclusion>
            <groupId>org.jboss.arquillian.core</groupId>
            <artifactId>arquillian-core-spi</artifactId>
        </exclusion>
        <exclusion>
            <groupId>org.jboss.arquillian.config</groupId>
            <artifactId>arquillian-config-api</artifactId>
        </exclusion>
        <exclusion>
            <groupId>org.jboss.arquillian.config</groupId>
            <artifactId>arquillian-config-impl-base</artifactId>
        </exclusion>
    </exclusions>
</dependency>

4. 验证依赖一致性

执行mvn dependency:tree | grep arquillian,确认所有Arquillian相关组件版本均为1.8.0.Final,无混合版本存在。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 23:47:25