我使用以下依赖项来检查CVE的代码。
<groupId>org.owasp</groupId>
<artifactId>dependency-check-maven</artifactId>
<version>1.4.0</version>
在詹金斯上,我随机遇到以下异常,并且构建失败。
Caused by: org.owasp.dependencycheck.data.nvdcve.DatabaseException: Unable to connect to the database
at org.owasp.dependencycheck.data.nvdcve.ConnectionFactory.initialize (ConnectionFactory.java:161)
at org.owasp.dependencycheck.Engine.initializeEngine (Engine.java:106)
at org.owasp.dependencycheck.Engine.<init> (Engine.java:86)
at org.owasp.dependencycheck.maven.Engine.<init> (Engine.java:66)
at org.owasp.dependencycheck.maven.BaseDependencyCheckMojo.initializeEngine (BaseDependencyCheckMojo.java:659)
at org.owasp.dependencycheck.maven.CheckMojo.runCheck (CheckMojo.java:72)
at org.owasp.dependencycheck.maven.BaseDependencyCheckMojo.execute (BaseDependencyCheckMojo.java:410)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
...
这似乎仅在特殊的执行器上发生(我为每个执行器使用一个Maven存储库)。这可能是什么?
答案 0 :(得分:0)
dependency-check-maven
插件的内部h2数据库以某种方式损坏。它位于org/owasp/dependency-check-data/3.0/dc.h2.db
下的本地Maven存储库中。
只需删除它就对我有用。下一次执行将花费一些时间,但是在此之后它又可以工作了。