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

Java8升级至Java11、Spring4.3升5.3.1时遇Thucydides插件报错

解决方案

问题根源

你使用的net.thucydides.maven.plugins:maven-thucydides-plugin:0.9.268是较老版本,依赖的是javax.xml.bind包,但Java 11已移除该内置模块;而你添加的jakarta.xml.bind-api是Java EE迁移到Jakarta后的新包(包名从javax.xml.bind改为jakarta.xml.bind),旧插件无法识别这个新命名空间,因此报错依旧。

具体修复步骤

1. 添加javax版本的JAXB依赖

在项目的<dependencies>中加入以下依赖,直接提供旧插件需要的javax.xml.bind类:

<dependency>
    <groupId>javax.xml.bind</groupId>
    <artifactId>jaxb-api</artifactId>
    <version>2.3.1</version>
</dependency>
<dependency>
    <groupId>com.sun.xml.bind</groupId>
    <artifactId>jaxb-impl</artifactId>
    <version>2.3.1</version>
    <scope>runtime</scope>
</dependency>
<dependency>
    <groupId>com.sun.xml.bind</groupId>
    <artifactId>jaxb-core</artifactId>
    <version>2.3.0.1</version>
</dependency>
<dependency>
    <groupId>javax.activation</groupId>
    <artifactId>activation</artifactId>
    <version>1.1.1</version>
</dependency>

2. 给Thucydides插件单独添加依赖

Maven插件的类加载器和项目主类加载器是隔离的,需要在插件配置里也声明这些依赖,确保插件运行时能获取到JAXB类:

<build>
    <plugins>
        <plugin>
            <groupId>net.thucydides.maven.plugins</groupId>
            <artifactId>maven-thucydides-plugin</artifactId>
            <version>0.9.268</version>
            <dependencies>
                <dependency>
                    <groupId>javax.xml.bind</groupId>
                    <artifactId>jaxb-api</artifactId>
                    <version>2.3.1</version>
                </dependency>
                <dependency>
                    <groupId>com.sun.xml.bind</groupId>
                    <artifactId>jaxb-impl</artifactId>
                    <version>2.3.1</version>
                </dependency>
                <dependency>
                    <groupId>javax.activation</groupId>
                    <artifactId>activation</artifactId>
                    <version>1.1.1</version>
                </dependency>
            </dependencies>
        </plugin>
    </plugins>
</build>

3. 可选:升级Thucydides插件版本

如果上述方法仍有问题,建议尝试升级插件到支持Java 11的版本(比如0.9.270或更高),新版本通常已适配Java 9+的模块变化,可能无需手动添加JAXB依赖。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 00:52:09