代码提交后,在公司测试环境利用 Jenkins 打包,出现如下错误:

...
Parsing POMs
...
Build step 'Execute shell' marked build as failure
FATAL: null
java.lang.StackOverflowError
    at java.lang.Exception.<init>(Exception.java:102)
    at java.lang.ReflectiveOperationException.<init>(ReflectiveOperationException.java:89)
    at java.lang.reflect.InvocationTargetException.<init>(InvocationTargetException.java:72)
    at sun.reflect.GeneratedMethodAccessor1399.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at com.google.inject.internal.DelegatingInvocationHandler.invoke(DelegatingInvocationHandler.java:50)
    at com.sun.proxy.$Proxy108.lookup(Unknown Source)
    at sun.reflect.GeneratedMethodAccessor1399.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at com.google.inject.internal.DelegatingInvocationHandler.invoke(DelegatingInvocationHandler.java:50)
    at com.sun.proxy.$Proxy108.lookup(Unknown Source)
    at sun.reflect.GeneratedMethodAccessor1399.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at com.google.inject.internal.DelegatingInvocationHandler.invoke(DelegatingInvocationHandler.java:50)

问题是其他项目都能正常利用 Jenkins 打包,就单独某一个项目报错。
开始以为是配置出错,但比较其他项目,配置一切正常。

Google 后,发现有相同问题:Jenkins/JENKINS-34394:Maven build fails with stack overflow
里面提供热两种解决办法:

  1. take -U out of mvn arguments(去掉 Maven 命令中的 -U 参数)
  2. Updating to the latest maven plugin for jenkins (2.14)(升级 maven plugin)

当尝试去除 maven 命令中 -U 参数后,顺利通过构建。
至此问题解决。希望遇到类似问题,可以有一个参考。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐