Reputation: 141
I installed jenkins-spock package in my Jenkins shared library project. When I attempt to run the test I created, I got the following error:
java.lang.NoClassDefFoundError: javax/servlet/ServletException
at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671)
at java.lang.Class.getDeclaredConstructors(Class.java:2020)
at org.codehaus.groovy.util.LazyReference.getLocked(LazyReference.java:49)
at org.codehaus.groovy.util.LazyReference.get(LazyReference.java:36)
at com.homeaway.devtools.jenkins.testing.JenkinsPipelineSpecification.setupSpec(JenkinsPipelineSpecification.groovy:1101)
Caused by: java.lang.ClassNotFoundException: javax.servlet.ServletException
at java.net.URLClassLoader.findClass(URLClassLoader.java:387)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
... 5 more
Here is my build.gradle file contents:
plugins{ id 'groovy' id 'java' id 'idea' }
idea {
module {
downloadJavadoc = true
downloadSources = true
}
}
group 'org.jenkins.devopssec'
version '1.0-SNAPSHOT'
sourceCompatibility = 1.8
targetCompatibility = 1.8
repositories {
maven { url 'https://repo1.maven.org/maven2/' }
maven { url 'https://repo.jenkins-ci.org/releases/' }
mavenLocal()
mavenCentral()
}
sourceSets {
main {
groovy {
srcDirs = ['src/main/groovy/vars', 'src/main/groovy/src']
}
}
test {
groovy {
srcDirs = ['src/test/groovy/']
}
}
}
dependencies {
implementation 'org.codehaus.groovy:groovy-all:2.4.12'
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.2'
implementation 'org.jenkins-ci.main:jenkins-core:2.168@jar'
// Jenkins plugins
implementation 'com.cloudbees:groovy-cps:1.31'
implementation 'org.jenkins-ci.plugins:credentials:2.1.16'
implementation 'org.jenkins-ci.plugins:credentials-binding:1.4@jar'
implementation group: 'org.apache.maven', name: 'maven-model', version: '3.6.3'
// Jenkins Spock dependencies
implementation group: 'org.kohsuke.stapler', name: 'stapler', version: '1.257.2'
compileOnly group: 'javax.servlet', name: 'javax.servlet-api', version: '4.0.0'
implementation group: 'org.jenkins-ci.plugins.workflow', name: 'workflow-step-api', version: '2.13'
implementation group: 'org.jenkins-ci.plugins.workflow', name: 'workflow-cps', version: '2.41'
implementation group: 'org.jenkins-ci', name: 'symbol-annotation', version: '1.10'
testImplementation group: 'org.spockframework', name: 'spock-core', version: '1.2-groovy-2.4'
implementation group: 'com.homeaway.devtools.jenkins', name: 'jenkins-spock', version: '2.1.4'
implementation fileTree(dir: 'lib', include: ['*.jar'])
}
Any comment or suggestion is welcome. Thanks in advance !
Upvotes: 1
Views: 323