如何忽略缺少 nvd 文件的 Maven 依赖项检查失败

How to ignore Maven dependency-check failure on missing nvd file

我今天尝试使用 Maven 发布插件发布我的项目。由于 dependency-check-maven 插件尝试下载尚未上传的 2020 版 CVD 文件而失败:

Unable to download meta file: https://nvd.nist.gov/feeds/json/cve/1.1/nvdcve-1.1-2020.meta; received 404 -- resource not found

NVD Data Feeds page 的简要浏览表明该文件尚未上传。

显然我可以等待大约 24 小时,这个问题可能会消失;但是,我仍然很想知道如何覆盖此 URL 以在今天发布我的项目。我尝试了一些命令行选项,包括以下变体:

mvn dependency-check:check -DcveUrlBase=https://nvd.nist.gov/feeds/json/cve/1.1/nvdcve-1.1-2019.json.gz

但是,它们仍然会导致错误。我知道我可以跳过此检查,但仍希望检查 2020 年之前的所有文件。

This issue suggests creating a local repository with the nist-data-mirror 插件,但与等待 24 小时相比,这似乎需要大量开销。

是否有任何命令行或易于恢复的 pom.xml 编辑可以让我今天发布我的项目?

编辑:This has been reported as an issue 在插件站点。

我的建议是创建一个单独的作业来更新数据库而不是检查您的依赖项,这样当更新失败时仍然可以进行检查。这有两个额外的优点,首先,检查依赖关系更快,因为您不必每次都建立数据库,其次,更少的请求必须转到 NVD,从而节省了资源。

NVD 现在还发布了 2020 CVE,所以现在不需要 fix/workaround,但他已经创建了一个修复程序 https://github.com/jeremylong/DependencyCheck/commit/217da90bd6991125087f0be3a60a60763194ecf1,它将包含在即将发布的版本中,这将解决之前的问题2021年我们可能会再次遇到这种情况。

我还建议保留您也提到的 github 问题中的建议。讨论当然仍然可以在这里进行。

https://github.com/jeremylong/DependencyCheck/issues/2403