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

Fortify扫描出现Unresolved variable: List报错,关联Java 11 List.of()用法

Fortify扫描Java 11项目List.of()报Unresolved variable: List的解决方案

报错原因

该报错是Fortify扫描器默认使用的语法解析版本低于Java 9导致的:List.of()是Java 9正式引入的集合工厂方法,低版本的扫描规则无法识别Java 9+的新增类库API,就会将List识别为未定义变量。

修复步骤

  • 明确指定扫描适配的Java版本
    运行fortifyExecuteScan时添加版本指定参数:
    命令行直接执行扫描的场景,追加参数-Dcom.fortify.sca.JavaVersion=11
    使用Maven插件执行扫描的场景,在pom.xml的Fortify插件配置中添加:
    <configuration>
      <javaVersion>11</javaVersion>
    </configuration>
    
    使用Gradle插件执行扫描的场景,在build.gradle的Fortify插件配置中添加:
    fortify {
      javaVersion = 11
    }
    
  • 明确指定扫描使用的JDK路径
    避免扫描器调用内置的低版本JDK类库解析,执行扫描时追加参数-Dcom.fortify.sca.JDKHome=你的Java 11 JDK绝对路径
  • 清理旧扫描缓存后重跑
    执行命令sourceanalyzer -b 你的扫描构建ID -clean清除之前的低版本解析缓存,再重新运行完整扫描流程。

校验项

操作完成后如果仍有报错,检查对应代码文件是否正确导入java.util.List,不存在导包拼写错误或缺失的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 13:24:04