Standalone jar and import

362 views
Skip to first unread message

Jason Swager

unread,
May 24, 2018, 5:33:55 PM5/24/18
to job-dsl-plugin
I'm trying to use the standalone jar as described here: https://github.com/jenkinsci/job-dsl-plugin/wiki/User-Power-Moves#generate-a-job-configxml-without-having-to-fire-up-jenkins

For basic DSL, works fine.  But when trying to import a extra JAR, the classpath (the current directory) doesn't seem to pick it up.

For example, using a simple DSL:

import org.yaml.snakeyaml.Yaml
job('test'){}


...results in the following.

wget https://repo1.maven.org/maven2/org/yaml/snakeyaml/1.17/snakeyaml-1.17.jar

java -jar job-dsl-core-1.69-standalone.jar baseline.groovy
[Boot] INFO:  setProperties(com.simontuffs.onejar.JarClassLoader@511d50c0)
[Boot] INFO:  using JarClassLoader: com.simontuffs.onejar.JarClassLoader
[JarClassLoader] INFO:  findResource() found: "META-INF/dgminfo" for caller null in codebase lib/groovy-all-2.4.11.jar
[JarClassLoader] INFO:  findResources(META-INF/services/org.codehaus.groovy.runtime.ExtensionModule)
[JarClassLoader] INFO:  findResources: looking in [lib/groovy-all-2.4.11.jar, lib/commons-codec-1.8.jar, lib/xstream-1.4.7-jenkins-1.jar, lib/xmlunit-1.4.jar, /, main/main.jar]
[JarClassLoader] INFO:  findResources(): Adding jar:file:/job-dsl-core-1.69-standalone.jar!/lib/groovy-all-2.4.11.jar!/META-INF/services/org.codehaus.groovy.runtime.ExtensionModule to resources list.
[JarClassLoader] INFO:  findResources(META-INF/services/org.codehaus.groovy.source.Extensions)
[JarClassLoader] INFO:  findResources: looking in [lib/groovy-all-2.4.11.jar, lib/commons-codec-1.8.jar, lib/xstream-1.4.7-jenkins-1.jar, lib/xmlunit-1.4.jar, /, main/main.jar]
[JarClassLoader] INFO:  findResources(): Adding jar:file:/job-dsl-core-1.69-standalone.jar!/lib/groovy-all-2.4.11.jar!/META-INF/services/org.codehaus.groovy.source.Extensions to resources list.
Processing DSL script baseline.groovy
[JarClassLoader] INFO:  findResources(META-INF/services/org.codehaus.groovy.transform.ASTTransformation)
[JarClassLoader] INFO:  findResources: looking in [lib/groovy-all-2.4.11.jar, lib/commons-codec-1.8.jar, lib/xstream-1.4.7-jenkins-1.jar, lib/xmlunit-1.4.jar, /, main/main.jar]
[JarClassLoader] INFO:  findResources(): Adding jar:file:/job-dsl-core-1.69-standalone.jar!/lib/groovy-all-2.4.11.jar!/META-INF/services/org.codehaus.groovy.transform.ASTTransformation to resources list.
[JarClassLoader] INFO:  findResource(): unable to locate "javaposse/jobdsl/dsl/views/jobfilter/Status.groovy"
[JarClassLoader] INFO:  findResource(): unable to locate "javaposse/jobdsl/dsl/views/jobfilter/BuildCountType.groovy"
[JarClassLoader] INFO:  findResource(): unable to locate "javaposse/jobdsl/dsl/helpers/LocalRepositoryLocation.groovy"
[JarClassLoader] INFO:  findResource(): unable to locate "org/yaml/snakeyaml/Yaml.groovy"
[JarClassLoader] INFO:  findResource(): unable to locate "javaposse/jobdsl/dsl/views/jobfilter/RegexMatchValue.groovy"
[JarClassLoader] INFO:  findResource(): unable to locate "javaposse/jobdsl/dsl/views/jobfilter/BuildStatusType.groovy"
[JarClassLoader] INFO:  findResource(): unable to locate "javaposse/jobdsl/dsl/views/jobfilter/MatchType.groovy"
[JarClassLoader] INFO:  findResource(): unable to locate "javaposse/jobdsl/dsl/views/jobfilter/AmountType.groovy"
[JarClassLoader] INFO:  findResource(): unable to locate "javaposse/jobdsl/dsl/helpers/scm/SvnCheckoutStrategy.groovy"
[JarClassLoader] INFO:  findResource(): unable to locate "javaposse/jobdsl/dsl/helpers/scm/SvnDepth.groovy"
[JarClassLoader] INFO:  findResource(): unable to locate "javaposse/jobdsl/dsl/JobParent.groovy"
Exception in thread "main" java.lang.reflect.InvocationTargetException
        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:498)
        at com.simontuffs.onejar.Boot.run(Boot.java:313)
        at com.simontuffs.onejar.Boot.main(Boot.java:161)
Caused by: javaposse.jobdsl.dsl.DslException: startup failed:
baseline.groovy: 3: unable to resolve class org.yaml.snakeyaml.Yaml
 @ line 3, column 1.
   import org.yaml.snakeyaml.Yaml
   ^

1 error
(more error stack follows)


Has something changed in class path loading from what the docs describe?  Or am I just doing this all wrong?

Thanks in advance
Jason
Reply all
Reply to author
Forward
0 new messages