Odd issue resolving packages with newer version of Jenkins+Java+Groovy

59 views
Skip to first unread message

Adam Daughterson

unread,
Aug 5, 2015, 12:18:45 PM8/5/15
to Jenkins Users
Hello group.

I have an issue where a new install of Jenkins using latest-greatist java will not resolve any packages I try to import.

I have installed the Build Flow extensions in the same way on both working and non-working systems.

For instance, in a build-flow:

def http = extension.'build-flow-http-extension'

This returns the following stack trace:

ERROR: Failed to run DSL Script
java.lang.UnsupportedOperationException: No such extension available: build-flow-http-extension
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
	at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:77)
	at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:102)
	at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:54)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:182)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:190)
	at com.cloudbees.plugins.flow.DynamicExtensionLoader.propertyMissing(FlowDSL.groovy:501)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:497)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
	at groovy.lang.MetaClassImpl.invokeMissingProperty(MetaClassImpl.java:771)
	at groovy.lang.MetaClassImpl$12.getProperty(MetaClassImpl.java:1786)
	at org.codehaus.groovy.runtime.callsite.GetEffectivePogoPropertySite.getProperty(GetEffectivePogoPropertySite.java:84)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGetProperty(AbstractCallSite.java:227)
	at Script1.run(Script1.groovy:1)
	at Script1$run.call(Unknown Source)
	at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:112)
	at com.cloudbees.plugins.flow.FlowDSL.executeFlowScript(FlowDSL.groovy:84)
	at com.cloudbees.plugins.flow.FlowRun$FlyweightTaskRunnerImpl.run(FlowRun.java:219)
	at hudson.model.Run.execute(Run.java:1741)
	at com.cloudbees.plugins.flow.FlowRun.run(FlowRun.java:155)
	at hudson.model.ResourceController.execute(ResourceController.java:98)
	at hudson.model.Executor.run(Executor.java:381)
FATAL: No such extension available: build-flow-http-extension
java.lang.UnsupportedOperationException: No such extension available: build-flow-http-extension
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
	at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:77)
	at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:102)
	at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:54)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:182)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:190)
	at com.cloudbees.plugins.flow.DynamicExtensionLoader.propertyMissing(FlowDSL.groovy:501)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:497)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
	at groovy.lang.MetaClassImpl.invokeMissingProperty(MetaClassImpl.java:771)
	at groovy.lang.MetaClassImpl$12.getProperty(MetaClassImpl.java:1786)
	at org.codehaus.groovy.runtime.callsite.GetEffectivePogoPropertySite.getProperty(GetEffectivePogoPropertySite.java:84)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGetProperty(AbstractCallSite.java:227)
	at Script1.run(Script1.groovy:1)
	at Script1$run.call(Unknown Source)
	at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:112)
	at com.cloudbees.plugins.flow.FlowDSL.executeFlowScript(FlowDSL.groovy:84)
	at com.cloudbees.plugins.flow.FlowRun$FlyweightTaskRunnerImpl.run(FlowRun.java:219)
	at hudson.model.Run.execute(Run.java:1741)
	at com.cloudbees.plugins.flow.FlowRun.run(FlowRun.java:155)
	at hudson.model.ResourceController.execute(ResourceController.java:98)
	at hudson.model.Executor.run(Executor.java:381)

Similarly, trying to import HTTPBuilder results in similar FUD:

import groovyx.net.http.HTTPBuilder

...results in this:

FATAL: startup failed: Script1.groovy: 1: unable to resolve class groovyx.net.http.HTTPBuilder @ line 1, column 1. import groovyx.net.http.HTTPBuilder ^ 1 error org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: Script1.groovy: 1: unable to resolve class groovyx.net.http.HTTPBuilder @ line 1, column 1. import groovyx.net.http.HTTPBuilder ^ 1 error at org.codehaus.groovy.control.ErrorCollector.failIfErrors(ErrorCollector.java:302) at org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:861) at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:550) at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:499) at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:302) at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:281) at groovy.lang.GroovyShell.parseClass(GroovyShell.java:731) at groovy.lang.GroovyShell.parse(GroovyShell.java:743) at groovy.lang.GroovyShell.parse(GroovyShell.java:770) at groovy.lang.GroovyShell.parse(GroovyShell.java:761) at groovy.lang.GroovyShell$parse.call(Unknown Source) at com.cloudbees.plugins.flow.FlowDSL.executeFlowScript(FlowDSL.groovy:80) at com.cloudbees.plugins.flow.FlowRun$FlyweightTaskRunnerImpl.run(FlowRun.java:219) at hudson.model.Run.execute(Run.java:1741) at com.cloudbees.plugins.flow.FlowRun.run(FlowRun.java:155) at hudson.model.ResourceController.execute(ResourceController.java:98) at hudson.model.Executor.run(Executor.java:381) Finished: FAILURE

I have a Jenkins master at 1.608 using the same JRE which does all this stuff perfectly well, so I'm totally stumped on why it isn't working on the new installs.

Can anyone offer some advice on what I may be missing? It seems like a Java problem, like it isn't searching the classpath, but I'm not sure how to change that.

I've Googled this kind of thing, and the @Grab annotation does not seem to do the trick, nor does manually attempting to install from the command line with grape.

Thanks in advance.

Adam

Daniel Beck

unread,
Aug 5, 2015, 1:00:27 PM8/5/15
to jenkins...@googlegroups.com
The extension you mention is provided by https://github.com/jniesen/build-flow-http-extension and not the Build Flow Extensions Plugin.
> --
> You received this message because you are subscribed to the Google Groups "Jenkins Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-use...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/6211c834-3230-49d6-bc17-5ce0f2da33ee%40googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

Adam Daughterson

unread,
Aug 5, 2015, 1:26:37 PM8/5/15
to Jenkins Users, m...@beckweb.net
That appears to be the key here.  Looks like loading the correct hpi brought in HTTPBuilder, which is now importable.

Thanks for the help!
Reply all
Reply to author
Forward
0 new messages