Ich versuche, eine Pipeline Job aus Jenkinsfile (mit Groovy-Code) zu laufen, aber ich bin den folgenden Fehler bekommen -Jenkins Pipeline java.io.NotSerializableException: groovy.util.slurpersupport.NodeChildren
java.io.NotSerializableException: groovy.util.slurpersupport.NodeChildren
at org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:860)
at org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:778)
at org.jboss.marshalling.river.RiverMarshaller.doWriteFields(RiverMarshaller.java:1032)
at org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:988)
at org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:967)
at org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:854)
at org.jboss.marshalling.river.BlockMarshaller.doWriteObject(BlockMarshaller.java:65)
at org.jboss.marshalling.river.BlockMarshaller.writeObject(BlockMarshaller.java:56)
at org.jboss.marshalling.MarshallerObjectOutputStream.writeObjectOverride(MarshallerObjectOutputStream.java:50)
at org.jboss.marshalling.river.RiverObjectOutputStream.writeObjectOverride(RiverObjectOutputStream.java:179)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:344)
at java.util.HashMap.internalWriteEntries(HashMap.java:1777)
at java.util.HashMap.writeObject(HashMap.java:1354)
at sun.reflect.GeneratedMethodAccessor101.invoke(Unknown Source)
...
Der Code ich versuche auszuführen ist -
def getDataVersionFromNexus() {
def user = params.nexusUser
def password = params.nexusPassword
...
def oldVersion = -1
print output
if (!output.isEmpty()) {
def xmlContent = new XmlSlurper().parseText(output)
oldVersion = "${xmlContent.versioning.release}"
}
return oldVersion
}
ich habe versucht, die Methode als @NonCPS
mit Anmerkungen versehen (wie in einer ähnlichen sO Post vorgeschlagen), aber dann bekomme ich nicht richtig ausgegeben.
Welche Zeile Ihres Codes das Problem verursacht, ist aus der obigen Frage nicht klar. – Rao
Aus dem Fehler sieht es aus wie die Verwendung von XmlSlurper. Stack-Trace zeigt bei 'sun.reflect.GeneratedMethodAccessor101.invoke (Unknown Source)' – saikosen