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

如何从ehcache-2.10.6.jar中移除存在漏洞的com.jackson.databind包

解决ehcache-2.10.6内嵌jackson-databind漏洞问题(ShadowJar移除内嵌类)

你的问题核心原因很明确:ehcache-2.10.6是把jackson-databind的类直接内嵌打包进自身jar的,不是通过依赖传递引入的,所以你之前用dependencies.exclude根本碰不到这些内嵌类,自然无效。

下面是可行的ShadowJar配置方案:

1. 核心ShadowJar配置(移除内嵌jackson类)

直接在shadowJar任务中过滤掉ehcache jar里的jackson相关类,无需依赖排除:

shadowJar {
    zip64 true
    // 直接删除jar中所有jackson相关的类文件
    exclude 'com/fasterxml/jackson/**'
    // 可选:如果你的项目本身也用jackson,可重定位避免冲突(按需选择)
    relocate 'com.fasterxml.jackson', 'shadow.com.fasterxml.jackson'
}

2. 补充安全版本的jackson依赖

因为移除了ehcache内嵌的有漏洞的jackson类,必须在项目中单独引入安全版本的jackson-databind,否则运行时会出现类找不到的错误:

dependencies {
    // 替换为官方发布的安全版本号,比如2.15.x或更高稳定版
    implementation 'com.fasterxml.jackson.core:jackson-databind:2.15.3'
    // 保留原ehcache依赖
    implementation 'net.sf.ehcache:ehcache:2.10.6'
}

3. 验证是否生效

打包后解压生成的shadowJar文件,检查是否不存在com/fasterxml/jackson目录;同时启动项目,确保ehcache功能正常,没有抛出ClassNotFoundException。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 20:33:20