spring-cloud-alibaba issues 4289:Seata NoClassDefFoundError

Spring Cloud Alibaba Seata NoClassDefFoundError 事件时间线

时序图

sequenceDiagram
    participant xuxiaowei as xuxiaowei-com-cn
    participant SCA as spring-cloud-alibaba
    participant uuuyuqi as uuuyuqi (SCA 维护者)
    participant seata as incubator-seata
    participant funkyeyes as funky-eyes (seata 维护者)
    Note over xuxiaowei, seata: 时间线: 2026-03-28 至 2026-04-01

    rect rgba(200,220,255,0.2)
        Note over xuxiaowei, SCA: 步骤 1: 发现 Bug 与定位根因
        xuxiaowei ->> SCA: (03-28 13:57) 创建 SCA Issue 4289,报告 Seata 2.6.0 NoClassDefFoundError
        xuxiaowei ->> SCA: (03-28 19:29) 确认 seata-server 同步升级到 2.6.0 仍无效,排除版本不一致
        xuxiaowei ->> SCA: (03-29 16:18) 定位根因:缺少 jackson-datatype-jsr310 依赖
        xuxiaowei ->> SCA: (03-29 16:27) 提交 SCA PR 4290,临时添加 jackson-datatype-jsr310 依赖
    end

    rect rgba(220,200,255,0.2)
        Note over xuxiaowei, seata: 步骤 2: 发现上游根源
        xuxiaowei ->> SCA: (03-29 21:16) 在 SCA Issue 4289 中引用上游 Seata PR 7908
        xuxiaowei ->> seata: (03-29 21:18) 在 SCA PR 4290 评论区引用 Seata PR 7908,说明问题根因在上游 Jackson 依赖简化
    end

    rect rgba(200,255,220,0.2)
        Note over uuuyuqi, SCA: 步骤 3: SCA 维护者审查与合并
        uuuyuqi ->> SCA: (03-30 10:25) 审查 SCA PR 4290,认可作为短期兼容修复
        uuuyuqi ->> SCA: (03-30 10:30) 合并 SCA PR 4290,在 SCA Issue 4289 同步通知
    end

    rect rgba(255,200,200,0.2)
        Note over xuxiaowei, seata: 步骤 4: 向上游 Seata 贡献正式修复
        xuxiaowei ->> seata: (03-30 11:38) 向上游提交 Seata PR 8030,正式修复 Jackson 依赖问题
        xuxiaowei ->> SCA: (03-30 13:08) 在 SCA Issue 4289 说明:待 Seata 2.7.0 发布后撤销临时依赖
        xuxiaowei ->> seata: (04-01 11:02) 在 Seata PR 8030 评论:Jackson 依赖已简化
        funkyeyes ->> seata: (04-01 16:42) 合并 Seata PR 8030
    end

    rect rgba(255,255,200,0.2)
        Note over xuxiaowei, SCA: 步骤 5: 反馈与后续计划
        xuxiaowei ->> SCA: (04-01 19:03) 在 SCA Issue 4289 评论:上游 Seata PR 8030 已合并,预计 Seata 2.7.0 在 4 月底至 5 月初发布
    end

    Note over xuxiaowei, funkyeyes: 协作完成:待 Seata 2.7.0 发布后,SCA 升级依赖并撤销临时修复 jackson-datatype-jsr310

流程图

graph TD
    subgraph D1["03-28 问题发现与定位"]
        A1["13:57 CST @xuxiaowei-com-cn<br/>提交 SCA Issue 4289<br/>Seata 2.6.0 抛出 NoClassDefFoundError"]
        A2["19:29 CST @xuxiaowei-com-cn<br/>确认 seata-server 同步升级到 2.6.0 仍无效<br/>排除版本不一致的可能"]
        A1 --> A2
    end

    subgraph D2["03-29 根因定位与 SCA 临时修复"]
        B1["16:18 CST @xuxiaowei-com-cn<br/>定位根因<br/>缺少依赖 jackson-datatype-jsr310"]
        B2["16:27 CST @xuxiaowei-com-cn<br/>提交 SCA PR 4290<br/>添加 jackson-datatype-jsr310 作为临时修复"]
        B3["21:16 CST @xuxiaowei-com-cn<br/>在 SCA Issue 4289 中引用上游 Seata PR 7908"]
        B4["21:18 CST @xuxiaowei-com-cn<br/>在 SCA PR 4290 评论区再次引用 Seata PR 7908"]
        B1 --> B2 --> B3 --> B4
    end

    subgraph D3["03-30 SCA 合并临时修复与上游正式修复提交"]
        C1["10:25 CST @uuuyuqi<br/>审查 SCA PR 4290<br/>认可作为短期兼容修复"]
        C2["10:30 CST @uuuyuqi<br/>合并 SCA PR 4290<br/>在 SCA Issue 4289 同步通知"]
        C3["11:38 CST @xuxiaowei-com-cn<br/>向上游 apache/incubator-seata 提交 Seata PR 8030"]
        C5["13:08 CST @xuxiaowei-com-cn<br/>在 SCA Issue 4289 说明<br/>待 seata 发布 2.7.0 后撤销临时依赖"]
        C1 --> C2 --> C3 --> C5
    end

    subgraph D4["04-01 上游合并与预期发布计划"]
        E1["11:02 CST @xuxiaowei-com-cn<br/>在 Seata PR 8030 评论<br/>Jackson 依赖已简化"]
        E2["19:03 CST @xuxiaowei-com-cn<br/>确认上游 Seata PR 8030 已合并<br/>预计 seata 2.7.0 在 4月底至5月初发布"]
        E1 --> E2
    end

    A2 --> B1
    B4 --> C1
    C5 --> E1

链路关系

graph TD
    A["@xuxiaowei-com-cn<br/>SCA Issue 4289<br/>SCA 报 NoClassDefFoundError<br/>2026-03-28"] --> B["@xuxiaowei-com-cn<br/>定位根因<br/>缺少 jackson-datatype-jsr310<br/>2026-03-29"]
    B --> C["@xuxiaowei-com-cn<br/>SCA PR 4290<br/>临时添加缺失依赖<br/>2026-03-29 提交<br/>2026-03-30 合并 by @uuuyuqi"]
    B --> D["Seata PR 7908<br/>上游 Jackson 依赖简化<br/>在此之前已存在"]
    C --> E["@xuxiaowei-com-cn<br/>Seata PR 8030<br/>上游正式修复<br/>2026-03-30 提交<br/>2026-04-01 合并"]
    E --> F["等待 Seata 2.7.0 发布<br/>预计 2026 年 4 月底至 5 月初"]
    F --> G["SCA 升级 Seata 到 2.7.0<br/>撤销临时依赖 jackson-datatype-jsr310"]

事件摘要

时间 (CST, UTC+8) 操作人 事件 链接
2026-03-28 13:57 @xuxiaowei-com-cn SCA Issue 4289 创建,报告 Seata 2.6.0 NoClassDefFoundError SCA Issue #4289
2026-03-28 19:29 @xuxiaowei-com-cn 确认 seata-server 同步升级到 2.6.0 仍无效 SCA Issue #4289
2026-03-29 16:18 @xuxiaowei-com-cn 定位根因:缺少 jackson-datatype-jsr310 SCA Issue #4289
2026-03-29 16:27 @xuxiaowei-com-cn SCA PR 4290 提交,临时添加依赖 SCA PR #4290
2026-03-29 21:16 @xuxiaowei-com-cn 在 SCA Issue 4289 中引用上游 Seata PR 7908 SCA Issue #4289
2026-03-29 21:18 @xuxiaowei-com-cn 在 SCA PR 4290 评论区引用 Seata PR 7908 SCA PR #4290
2026-03-30 10:25 @uuuyuqi 审查 SCA PR 4290,认可作为短期兼容修复 SCA PR #4290
2026-03-30 10:30 @uuuyuqi 合并 SCA PR 4290,在 SCA Issue 4289 同步通知 SCA PR #4290
2026-03-30 11:38 @xuxiaowei-com-cn 向上游 apache/incubator-seata 提交 Seata PR 8030 seata PR #8030
2026-03-30 13:08 @xuxiaowei-com-cn 在 SCA Issue 4289 说明待 seata 2.7.0 后撤销临时依赖 SCA Issue #4289
2026-04-01 11:02 @xuxiaowei-com-cn 在 Seata PR 8030 评论:Jackson 依赖已简化 seata PR #8030
2026-04-01 16:42 @funky-eyes 合并 Seata PR 8030 seata PR #8030
2026-04-01 19:03 @xuxiaowei-com-cn 确认上游 Seata PR 8030 已合并,预计 seata 2.7.0 在 4月底至5月初发布 SCA Issue #4289

涉及的 Issues、PR