Java Maven项目用Upload&scan扫描 Veracode返回空报告问题咨询
Veracode扫描返回空报告及missing supporting files问题解决方案
问题根因
你遇到的空报告+missing supporting files提示,本质是Veracode扫描引擎未识别到上传压缩包内的有效可扫描文件,或缺少Java扫描必需的依赖支撑文件,无法完成数据流分析因此返回空结果。
解决方案
1. 检查上传的zip包内容是否符合要求
Veracode扫描Java项目对上传包有明确要求,需先手动解压你上传的zip包确认以下内容:
- 必须包含项目编译后的
.class文件,或封装了class的jar包,禁止仅上传源码、测试类、文档、配置文件等非编译产物 - 必须包含项目所有依赖的第三方jar包:如果是SpringBoot项目,直接上传内置了
BOOT-INF/lib依赖的可执行jar即可;如果是普通Java项目,需要把所有依赖jar和自己的编译产物一起打包 - 确认打包路径正确,zip包不是空目录或仅包含冗余文件
2. 调整Jenkins流水线Veracode配置
你的现有配置缺少错误暴露参数,且上传路径匹配规则过于模糊,优化后的配置参考如下:
stage('Upload & Scan') { steps { veracode applicationName: '****', criticality: 'VeryHigh', createSandbox: true, sandboxName: '*****', scanName: "22/11/2021-9h23", waitForScan: true, timeout: 120, uploadIncludesPattern: "target/veracode-scan-package.zip", // 替换为你实际的zip文件精准路径,不要用模糊的****匹配 scanAllNonFatalErrors: true, // 新增参数,强制输出文件识别类错误到Jenkins日志,方便定位 vid: '********', vkey: '******', debug: true } }
3. 调整Maven打包逻辑
- 打包时跳过测试类,避免测试代码被打入扫描包干扰识别:执行
mvn clean package -DskipTests - 普通Java项目可使用
maven-assembly-plugin插件,配置打包规则将自研编译产物和所有第三方依赖一起打包为zip,直接用于Veracode扫描 - 不要使用
maven-source-plugin生成的源码包用于扫描
4. 平台侧配置校验
- 确认你使用的
vid、vkey对应账号拥有目标应用的沙箱创建、扫描上传权限,权限不足会导致平台静默接收文件但不生成扫描结果 - 可直接登录Veracode平台,进入对应应用的沙箱页面,查看本次扫描的详情提示,平台侧会明确列出缺少的支撑文件类型,定位效率高于Jenkins日志
内容的提问来源于stack exchange,提问作者Elian
相关产品推荐
相关产品推荐

