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

JavaFX项目添加json-simple依赖后Gradle构建崩溃求助

问题原因
  • json-simple 1.1.1的依赖配置存在问题,错误地将junit 4.10标记为编译依赖(本应仅作为测试依赖),导致你的项目自动引入了这个带有漏洞的junit版本。
  • junit 4.10内部包含了org.hamcrest相关的完整包,而你的项目(或其他依赖)同时引入了独立的hamcrest.core库。Java模块系统禁止一个模块(此处为json.simple)从两个不同模块(hamcrest.core和junit)读取同一个包,因此抛出包冲突错误。
  • 漏洞警告正是来自这个意外引入的junit 4.10,它存在CVE-2020-15250权限分配漏洞。
解决方法

方法1:排除junit传递依赖(快速解决当前问题)

修改build.gradle中的json-simple依赖声明,手动排除不必要的junit传递依赖——json-simple的junit依赖仅用于自身测试,你的项目完全不需要:

implementation('com.googlecode.json-simple:json-simple:1.1.1') {
    exclude group: 'junit', module: 'junit'
}

同步Gradle后,将requires json.simple;重新添加到module-info.java中,构建错误和漏洞警告都会消失。

方法2:更换为维护活跃的JSON库(长期方案)

json-simple项目已长期停止维护,依赖配置问题一直未修复。推荐替换为模块兼容性更好、更新更频繁的JSON库:

  • Gson:
    implementation 'com.google.code.gson:gson:2.10.1'
    
    module-info.java中添加:requires com.google.gson;
  • Jackson:
    implementation 'com.fasterxml.jackson.core:jackson-databind:2.15.2'
    
    module-info.java中添加:requires com.fasterxml.jackson.databind;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 07:22:47