tengouncódigoneclipsequeestáfuncionandocorrectamente,pero cuando lo implanto en Jenkins falla。
import org.xxxx.sharedLibraries.Utilidades
def call(body) {
Class clazz = Class.forName("org.xxxx.sharedLibraries.Utilidades")
def clase = clazz.newInstance()
clase.foo()
}
Elcódigoquelanzo en import org.xxxx.sharedLibraries.Utilidades
package org.xxxx.sharedLibraries
//import groovy.json.*
/**
* Class that implements utilities used by JenkinsFile
*/
class Utilidades implements Serializable {
def CreaFichero(){
steps.sh "echo dentro del proceso CreaFichero"
def command = "sleep 15"
def proc = command.execute()
proc.waitFor()
}
}
Sin embargo el mensaje que veo en Jenkins es el siguiente:
java.lang.ClassNotFoundException: org.xxxx.sharedLibraries.Utilidades
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:560)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at org.codehaus.groovy.runtime.callsite.CallSiteClassLoader.loadClass(CallSiteClassLoader.java:54)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at org.codehaus.groovy.reflection.ClassLoaderForClassArtifacts.loadClass(ClassLoaderForClassArtifacts.java:60)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at java_lang_Class$forName.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
at com.cloudbees.groovy.cps.sandbox.DefaultInvoker.methodCall(DefaultInvoker.java:20)
at estatico.call(/usr/local/pd/jenkins/CJE_M1/jobs/EMDL_MULTIBRANCH/branches/master/builds/649/libs/lib/vars/estatico.groovy:82)
at ___cps.transform___(Native Method)
没有llego a entender el problema。 El paquete existe,pero poralgunarazónnolo encuentra。
¿Sabéisquepuede ser?