我有一个比较大的Groovy脚本,用于构建多平台库,在多台构建机上构建多个存储库。在大多数情况下,它都有效。但是有时我会感到恐惧:
java.io.NotSerializableException: java.util.regex.Matcher
问题。这显然是不可重复的,即使发生,在生成问题之前构建要走多远也非常不一致。我想知道是否有人对如何找到问题有好的建议。
现在我知道标准问题是=~
泄漏到@NonCPS
区域之外的结果。看来,我通常会仔细阅读并删除明显的内容,但无济于事。我怀疑当我发现问题会很明显时,但大多数人会理解它的进展!
我想知道是否有人对如何找到此类问题有一些好的想法?例如,是否有可能在每个步骤上强制执行状态-这样状态就会始终失败并且尽快,所以至少我可以找出要看的地方?