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

如何修复org.eclipse.jdt.core.dom.ASTUtils引发的SecurityException?

Sonar API文件扫描签名信息不匹配问题排查

调用Sonar API进行文件扫描时触发以下异常,已在Sonar社区求助但未解决,需排查原因:

Caused by: java.lang.SecurityException: class "org.eclipse.jdt.core.dom.ASTUtils"'s signer information does not match signer information of other classes in the same package
    at java.base/java.lang.ClassLoader.checkCerts(ClassLoader.java:1150)
    at java.base/java.lang.ClassLoader.preDefineClass(ClassLoader.java:905)
    at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1014)
    at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174)
    at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:800)
    at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:698)
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:621)
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:579)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
    at org.sonar.java.model.JParser.convert(JParser.java:197)
    at org.sonar.java.model.JParser.parse(JParser.java:165)
    at org.sonar.java.model.JParserConfig$FileByFile.parse(JParserConfig.java:268)
    ... 5 more

排查方向

  • 检查依赖冲突:用依赖分析工具(如Maven dependency:tree、Gradle dependencies)找出项目中重复引入的org.eclipse.jdt相关依赖,排除Sonar Java插件以外的版本,避免不同签名的JDT包共存。
  • 调整类加载优先级:确保Sonar自带的JDT类优先加载,可通过调整依赖声明顺序或排除非必要的JDT依赖实现。
  • 验证包完整性:确认所有JDT相关jar包为官方原版,未被篡改或重新打包,替换异常的包文件。
  • 匹配Sonar版本:检查Sonar API与Sonar Java插件版本兼容性,不同版本Sonar依赖的JDT版本可能存在差异,统一使用兼容版本组合。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 06:30:21