jenkins
  • groovy
  • httpbuilder
  • 2016-10-05 2 views 0 likes 
    0

    Jenkins에서 그루비 스크립트를 실행하려고합니다. "Execute system groovy script"를 사용합니다. 내 스크립트는 REST를 사용해야하므로 http-builder가 필요하다.Groovy 젠킨스 Grab ERROR

    @Grab(group='org.codehaus.groovy.modules.http-builder', module='http-builder', version='0.7.1') 
    
    import groovyx.net.http.HTTPBuilder 
    

    그러나, 나는 구문 확인 버튼을 누를 때, 나는 다음과 같은 오류 얻을 :

    javax.servlet.ServletException을 : java.lang.NoClassDefFoundError가 : 조직/여기에 내가 그걸 얻기 위해 시도하는 방법이다 아파치/담쟁이/코어/설정/IvySettings org.kohsuke.stapler.Stapler.invoke (Stapler.java:876)에서 org.kohsuke.stapler.Stapler.tryInvoke (Stapler.java:796) 에서 org.kohsuke에서 .stapler.MetaClass $ 5.doDispatch (MetaClass.java:233) at org.kohsuke.stapler.NameBasedDispatcher.dispatch (NameBasedDispatcher.java:58) at org.kohsuke.stapler.Stapl er.tryInvoke org.kohsuke.stapler.MetaClass $ 5.doDispatch에서 (Stapler.java:746) org.kohsuke.stapler.Stapler.invoke (Stapler.java:876)에서 (MetaClass.java:233) 조직에서 .kohsuke.stapler.NameBasedDispatcher.dispatch (NameBasedDispatcher.java:58) at org.kohsuke.stapler.Stapler.tryInvoke (Stapler.java:746) at org.kohsuke.stapler.Stapler.invoke (Stapler.java:876)) org.kohsuke.stapler.Stapler.tryInvoke에서 org.kohsuke.stapler.MetaClass $ 5.doDispatch (MetaClass.java:233) org.kohsuke.stapler.NameBasedDispatcher.dispatch (NameBasedDispatcher.java:58에서 ) 에서 (Stapler.java:746) at org.kohsuke.stapler.Stapler.invoke (Stapler.java:876) at org.kohsuke.stapler.Stapler.invoke (Stapler.java:649) at org.kohsuke.stapler.Stapler.service (Stapler.java:238) (javax.servlet.http.HttpServlet.java:790) at org.eclipse.jetty.servlet.ServletHolder.handle (ServletHolder.java:812) hudson.util에서 hudson.util.PluginServletFilter $ 1.doFilter에서 org.eclipse.jetty.servlet.ServletHandler $ CachedChain.doFilter (ServletHandler.java:1669) (PluginServletFilter.java:135) 에서 .PluginServletFilter.doFilter (PluginServletFilter.java:126) hudson.security.csrf.CrumbFilter.doFilter에서 org.eclipse.jetty.servlet.ServletHandler $ CachedChain.doFilter (ServletHandler.java:1652) 에서 (CrumbFilter.java:49) at org.eclipse.jetty.servlet.ServletHandler $ CachedChain.doFilter (ServletHandler.java:1652)hudson.security.ChainedServletFilter $ 1.doFilter (ChainedServletFilter.java:84) hudson.security.ChainedServletFilter $ 1.doFilter에서 hudson.security.UnwrapSecurityExceptionFilter.doFilter (UnwrapSecurityExceptionFilter.java:51) 에서 에서 691,363,210 (ChainedServletFilter.java:87) org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter에서 hudson.security.ChainedServletFilter $ 1.doFilter (ChainedServletFilter.java:87) 에서 jenkins.security.ExceptionTranslationFilter.doFilter (ExceptionTranslationFilter.java:117) (AnonymousProcessingFilter.java에서 : 125) at hudson.security.ChainedServletFilter $ 1.doFilter (ChainedServletFilter.java:87) at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter (RememberMeProcessingFilter.java:135)hudson.security.ChainedServletFilter $ 1.doFilter에서 hudson.security.ChainedServletFilter $ 1.doFilter (ChainedServletFilter.java:87) org.acegisecurity.ui.AbstractProcessingFilter.doFilter (AbstractProcessingFilter.java:271)에서 (ChainedServletFilter.java에서 1,363,210 : 87) org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter에서 hudson.security.ChainedServletFilter $ 1.doFilter (ChainedServletFilter.java:87) 에서 jenkins.security.BasicHeaderProcessor.doFilter (BasicHeaderProcessor.java:93) (HttpSessionContextIntegrationFilter가시.자바 : hudson.security.HttpSessionContextIntegrationFilter2.doFilter에서 249) (HttpSessionContextIntegrationFilter2.java:67) hudson.security.ChainedServletFilter.doFilter에서 hudson.security.ChainedServletFilter $ 1.doFilter (ChainedServletFilter.java:87) 에서 (ChainedServletFilter.java : org.kohsuke.stapler.compression에서 org.eclipse.jetty.servlet.ServletHandler $ CachedChain.doFilter (ServletHandler.java:1652) 76) hudson.security.HudsonFilter.doFilter (HudsonFilter.java:171에서 ) org.eclipse.jetty.servlet.ServletHandler $ CachedChain.doFilter (ServletHandler.java:1652) hudson.util.CharacterEncodingFilter.doFilter (CharacterEncodingFilter.java:82)에서 에서 .CompressionFilter.doFilter (CompressionFilter.java:49) 조직에서 org.eclipse.jetty.servlet.ServletHandler $ CachedChain에서 .eclipse.jetty.servlet.ServletHandler $ CachedChain.doFilter org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter (DiagnosticThreadNameFilter.java:30)에서 (ServletHandler.java:1652) .doFilter (ServletHandler.java:1652) at org.eclipse.jetty.servlet.ServletHandler.doHandle (ServletHandler.java:585) at org.eclipse.jetty.server.handler.ScopedHandler.handle (ScopedHandler.java:143)) at org.eclipse.jetty.security.SecurityHandler.handle (SecurityHandler.java:553) at org.eclipse.jetty.server.session.SessionHandler.doHandle (SessionHandler.java:223) at org.eclipse.jetty .server.handler.ContextHandler.doHandle (ContextHandler.java:1127) at org.eclipse.jetty.servlet.ServletHandler.doScope (Serv (org.eclipse.java:515) at org.eclipse.jetty.server.session.SessionHandler.doScope (SessionHandler.java:185) at org.eclipse.jetty.server.handler.ContextHandler.doScope (ContextHandler.java:1061) org.eclipse.jetty.server.handler.HandlerWrapper.handle에서 org.eclipse.jetty.server.handler.ScopedHandler.handle (ScopedHandler.java:141) (HandlerWrapper.java:97) org.eclipse에서 에서 . jetty.server.Server.handle (Server.java:499) at org.eclipse.jetty.server.HttpChannel.handle (HttpChannel.java:311) at org.eclipse.jetty.server.HttpConnection.onFillable (HttpConnection. java : 257) at org.eclipse.jetty.io.AbstractConnection $ 2.run (AbstractConnection.java:544) at winstone.BoundedExecutorService $ 1.run (BoundedExecutorService.j AVA : 77) java.util.concurrent.ThreadPoolExecutor $ Worker.run에서 java.util.concurrent.ThreadPoolExecutor.runWorker (알 수없는 소스) (알 수없는 소스) 에서 java.lang.Thread.run에서 (알 수없는 소스) java.lang.NoClassDefFoundError가 :에 의한 조직/아파치/담쟁이/코어/설정/IvySettings java.lang.Class.getDeclaredMethods0 (기본 방법) java.lang.Class.privateGetDeclaredMethods에서 (알 수없는 소스) 자바에서 에서 . lang.Class.privateGetPublicMethods (알 소스) java.beans.Introspector.getTargetMethodInfo (알 소스)에 java.beans.Introspector.getPublicDeclaredMethods에서 java.lang.Class.getMethods에서 (알 소스) (알 소스)에 java.beans.In java.security.AccessController.doPrivileged에서 groovy.lang.MetaClassImpl $ 15.run (MetaClassImpl.java:3290) 에서 java.beans.Introspector.getBeanInfo (알 수없는 소스) 에서 trospector.getBeanInfo (알 수없는 소스) (기본 방법) groovy.lang.MetaClassImpl.addProperties (MetaClassImpl.java:3288) groovy.lang.MetaClassImpl.initialize (MetaClassImpl.java:3265)에서 org.codehaus.groovy.reflection.ClassInfo.getMetaClassUnderLock (ClassInfo.java에서 에서 : org.codehaus.groovy.reflection.ClassInfo.getMetaClass (ClassInfo.java:285)에서 254) groovy.grape.GrapeIvy $ getStaticMetaClass groovy.grape.GrapeIvy에서 (GrapeIvy.groovy) (GrapeIvy.groovy.. : 81) at sun.reflect.NativeConstructorAccessorImpl.newInstance0 (기본 방법) java.lang.reflect.Constructor.newInstance에서 sun.reflect.DelegatingConstructorAccessorImpl.newInstance (알 수없는 소스) 에서 sun.reflect.NativeConstructorAccessorImpl.newInstance (알 수없는 소스) (알 수없는 소스) 자바에서 에서 . Groovy.grape.Grape.getInstance (Grape.java:121) at groovy.grape.Grape.grab (Grape.java:159) at groovy.grape.GrabAnnotationTransformation.visit org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits에서 org.codehaus.groovy.transform.ASTTransformationVisitor $ 3.call (ASTTransformationVisitor.java:321)에서 (GrabAnnotationTransformation.java:378) (CompilationUnit.java:931) 에서 org.co org.codehaus.groovy.control.CompilationUnit.compile에서 dehaus.groovy.control.CompilationUnit.doPhaseOperation org.codehaus.groovy.control.CompilationUnit.processPhaseOperations에서 (CompilationUnit.java:593) (CompilationUnit.java:569) (CompilationUnit.java:546) groovy.lang.GroovyShell.parseClass에서 groovy.lang.GroovyClassLoader.parseClass (GroovyClassLoader.java:268) 에서 groovy.lang.GroovyClassLoader.doParseClass (GroovyClassLoader.java:298) 에서 (GroovyShell. 자바 : groovy.lang.GroovyShell.parse (GroovyShell.java에서 groovy.lang.GroovyShell.parse (GroovyShell.java:736) 에서 groovy.lang.GroovyShell.parse (GroovyShell.java:700)에서 688) : 727) at hudson.plugins.groovy.StringScriptSource $ DescriptorImpl.doCheckScript (S java.lang의에서 sun.reflect.DelegatingMethodAccessorImpl.invoke (알 수없는 소스) 에서 sun.reflect.NativeMethodAccessorImpl.invoke (알 수없는 소스) 에서 sun.reflect.NativeMethodAccessorImpl.invoke0 (기본 방법) 에서 tringScriptSource.java:71) .reflect.Method.invoke (알 수없는 소스) at org.kohsuke.stapler.Function $ InstanceFunction.invoke (Function.java:324) at org.kohsuke.stapler.Function.bindAndInvoke (Function.java:167) at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse (Function.java:100) at org.kohsuke.stapler.MetaClass $ 1.doDispatch (MetaClass.java:124) at org.kohsuke.stapler.NameBasedDispatcher.dispatch (NameBasedDispatcher.java : 58) at org.kohsuke.stapler.Stapler. 에 java.net.URLClassLoader.findClass (알 소스)에 org.apache.ivy.core.settings.IvySettings : java.lang.ClassNotFoundException가 : tryInvoke (Stapler.java:746) ... (66) 이상은 에 의한 java.lang.ClassLoader.loadClass (알 수없는 소스) at java.lang.ClassLoader.loadClass (알 수없는 소스) at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass (WebAppClassLoader.java:450) at org.eclipse. jetty.webapp.WebAppClassLoader.loadClass (WebAppClassLoader.java:403) ... 112 더 많은

    아이디어가 있으십니까?

    답변

    1

    내 질문에 대한 답변을 찾았습니다. ivy.jar를 다운로드하여 Jenkins lib 디렉토리 (예 : C : \ Program Files (J) \ Jenkins \ war \ WEB-INF \ lib)에 복사하고 Jenkins를 다시 시작하면 (예 : 시스템 서비스를 통해) 스크립트 콘솔에서 @Grab을 사용하십시오. 추가 읽기 : https://groups.google.com/forum/#!msg/job-dsl-plugin/EG6eqQYYI7M/2TKKysNw4QEJ

    +0

    시도해 보았지만 제대로 작동하지 않습니다. – Joey

     관련 문제

    • 관련 문제 없음^_^