首页 > 解决方案 > 未能执行目标 org.codehaus.mojo:findbugs-maven-plugin:3.0.3

问题描述

在 Jenkins 上构建项目时会引发此错误:

无法在项目模块集视图上执行目标 org.codehaus.mojo:findbugs-maven-plugin:3.0.3:findbugs (findbugs):执行目标 org.codehaus.mojo:findbugs-maven-plugin:3.0 的 findbugs。 3:findbugs 失败:Java 返回:137

有谁知道可能是什么问题?

标签: javajenkinsbuild

解决方案


通过 MAVEN_OPTS 设置给它额外的内存

此设置是为您的插件指定的,至少需要 Xmx384M。

https://gleclaire.github.io/findbugs-maven-plugin/faq.html#How_do_I_avoid_OutOfMemory_errors

如何避免 OutOfMemory 错误?在项目上运行 findbugs 时,默认堆大小可能不足以完成构建。目前还没有办法 fork findbugs 并根据自己的内存要求运行,但以下系统变量将允许您为 Maven 这样做: export MAVEN_OPTS=-Xmx384M 您还可以使用 fork 选项,该选项将用于新的 JVM。然后使用 maxHeap 选项来控制堆大小

在您的计算机上配置 MAVEN_OPTS

set MAVEN_OPTS=-Xmx384M

在 Jenkins 中配置 MAVEN_OPTS

(只是一个屏幕截图,使用 -Xmx384M 作为值,而不是屏幕截图中的内容) https://wiki.jenkins.io/plugins/servlet/mobile?contentId=65667926#content/view/65667926詹金斯 MAVEN_OPTS

如果需要进一步的故障排除

可以在此处找到 Jenkins 硬件要求。如果您正在运行许多作业,请增加系统资源。

https://jenkins.io/doc/book/hardware-recommendations/

可以通过编辑 Jenkins 服务器上的 Jenkins.xml 文件来增加 Jenkins JVM 内存,使用相同的 -Xmx 方法。

尽管 Jenkins 的内存要求通常很低,但对于一个非常基本的服务器来说,拥有至少 2GB 的主机内存似乎是合理的。

如果您进入生产环境,应遵循 Cloudbees 对堆设置的建议:

https://support.cloudbees.com/hc/en-us/articles/204859670-Java-Heap-settings-best-practice?mobile_site=true


推荐阅读