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

Spring Boot3.2+Java17迁移时,无法实例化com.docusign.esign.client.ApiClient

解决Spring Boot 3.2 + Java 17下DocuSign ApiClient实例化失败问题

问题根源

报错提示org/glassfish/jersey/media/multipart/BodyPart找不到,核心原因是:

  • Spring Boot 3.x全面切换到Jakarta EE规范(替代旧的Java EE),所有相关API包名从javax.*改为jakarta.*
  • DocuSign eSign Java SDK 4.5.0依赖的是基于Java EE的旧版Jersey Multipart组件,其类路径与Spring Boot 3的Jakarta生态不兼容,导致类加载失败

解决方案

方案1:升级DocuSign SDK到Jakarta兼容版本

DocuSign从5.0.0版本开始正式支持Jakarta EE,直接升级SDK即可解决依赖冲突:

<dependency>
    <groupId>com.docusign</groupId>
    <artifactId>docusign-esign-java</artifactId>
    <version>5.17.0</version> <!-- 使用最新稳定版,可按需调整 -->
</dependency>

这是最推荐的方案,能彻底适配Spring Boot 3的Jakarta环境,同时获得SDK的新特性和Bug修复。

方案2:手动适配旧SDK(仅临时过渡用)

如果暂时无法升级SDK,需要排除SDK中的旧Java EE依赖,手动添加Jakarta版本的Jersey Multipart组件:

<dependency>
    <groupId>com.docusign</groupId>
    <artifactId>docusign-esign-java</artifactId>
    <version>4.5.0</version>
    <exclusions>
        <exclusion>
            <groupId>org.glassfish.jersey.media</groupId>
            <artifactId>jersey-media-multipart</artifactId>
        </exclusion>
    </exclusions>
</dependency>

<!-- 添加Jakarta版本的Jersey Multipart -->
<dependency>
    <groupId>org.glassfish.jersey.media</groupId>
    <artifactId>jersey-media-multipart</artifactId>
    <version>3.1.5</version> <!-- 选择与Spring Boot 3.x兼容的版本 -->
</dependency>

注意:这种方式可能引发其他潜在兼容性问题,不建议长期使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 01:53:20