我正在使用带有 Fortify360 插件的 maven 来分析源代码。sca:translate 步骤运行良好,似乎生成了正确的 sca-translate-java.txt 文件,但 sca:scan 步骤实际上并未对任何子项目运行扫描。
我没有给出任何理由,只是错误消息,例如:
*跳过子项目的扫描
我是 Fortify 的新手。任何人都有这方面的经验,并且对为什么它可以跳过扫描有一些想法?
谢谢!
如果您的项目继承自顶级 pom,则还需要使用 -Dsca.toplevel=foo 参数,并且还需要手动设置构建 ID。
因此,在翻译步骤中,添加额外的 -D 参数来设置构建 ID。
在扫描步骤中,添加相同的 -D 参数以设置构建 ID。
同样在扫描步骤中,添加“顶级”-D 参数。
因为它在源代码中很好地自我记录在这里ScanMojo如果您想要整个项目的聚合结果,您需要指定两者 <buildId>...</buildId>
并且<toplevelArtifactId>...</toplevelArtifactId>
它们应该匹配,否则它会跳过子项目。