我正在建立一个Jenkins管道,该管道使用一个用Groovy编写的使用xmlunit的比较XML函数调用一个外部库。
该函数如下所示:
import java.util.List
import org.custommonkey.xmlunit.*
// Gives you a list of all the differences.
@NonCPS
void call(String xmlControl, String xmlTest) throws Exception {
String myControlXML = xmlControl
String myTestXML = xmlTest
DetailedDiff myDiff = new DetailedDiff(compareXML(myControlXML,
myTestXML));
List allDifferences = myDiff.getAllDifferences();
assertEquals(myDiff.toString(), 0, allDifferences.size());
}
但是,在Jenkins中运行管道时,它将返回java.io.NotSerializableException
。
检查StackOverflow似乎添加了@NonCPS
批注可能会有所帮助。
但可惜的是它并没有改变。
我还能尝试解决java.io.NotSerializableException
吗?