Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-14143

Can't build project with jdk 5 when jenkins runs on tomcat 7

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: Major Major
    • core
    • None
    • Apache Tomcat 7.0.27 running on jdk1.7.0_03
      Jenkins ver. 1.471
      windows server 2008 64 bits

      Some Projects used to build with jenkins 1.461 or 1.471(on Tomcat 6.0.32/jdk 6) but they no longer build on Jenkins with Tomcat 7.0.27 /jdk 7.
      Only projects that need jkd 5 and maven 2.2.1 to build are concerned.

      Error Caused by: java.lang.ClassFormatError: Failed to load org.kohsuke.stapler.Stapler

      See included stacktrace for more information

          [JENKINS-14143] Can't build project with jdk 5 when jenkins runs on tomcat 7

          Hi François,

          The actual exception is:
          Caused by: java.lang.UnsupportedClassVersionError: Bad version number in .class file

          And it is happening when Jenkins is trying to load HttpServlet.
          Caused by: java.lang.ClassFormatError: Failed to load javax.servlet.http.HttpServlet

          "Bad version number in .class file" indicates that the application tries to execute class compiled in newer version of JDK.

          In your case, java 1.5 tries to load classes compiled with 1.6

          Tomcat 6 minimum version is 1.5, you were running it with 1.5, and it was fine.
          Tomcat 7 minimum version is 1.6, you are running it with 1.5, and it does not work.

          http://tomcat.apache.org/whichversion.html

          Andrey

          Andrey Myatlyuk added a comment - Hi François, The actual exception is: Caused by: java.lang.UnsupportedClassVersionError: Bad version number in .class file And it is happening when Jenkins is trying to load HttpServlet. Caused by: java.lang.ClassFormatError: Failed to load javax.servlet.http.HttpServlet "Bad version number in .class file" indicates that the application tries to execute class compiled in newer version of JDK. In your case, java 1.5 tries to load classes compiled with 1.6 Tomcat 6 minimum version is 1.5, you were running it with 1.5, and it was fine. Tomcat 7 minimum version is 1.6, you are running it with 1.5, and it does not work. http://tomcat.apache.org/whichversion.html Andrey

          No I'am running jenkins on tomcat 7 with jdk1.7.0_03
          Then I launched a maven 2 build with java 5

          François Houdebert added a comment - No I'am running jenkins on tomcat 7 with jdk1.7.0_03 Then I launched a maven 2 build with java 5

          Maybe I was not clear explaining that:
          Maven process running 1.5 is trying to load HttpServlet, which is compiled with version 1.6 of java.
          Most likely HttpServlet is being loaded from Tomcat, as JDK does not include javax.servlet by default.
          You can confirm it by prepending servlet.jar from Tomcat 6 in Maven classpath.

          Think about from the perspective of what was changed in the system when it became dysfunctional. Tomcat was changed and simultaneously jdk was changed.

          Try to run your set-up with jdk6/tomcat7 and jdk7/tomcat6

          I bet that the latter will work.

          Andrey Myatlyuk added a comment - Maybe I was not clear explaining that: Maven process running 1.5 is trying to load HttpServlet, which is compiled with version 1.6 of java. Most likely HttpServlet is being loaded from Tomcat, as JDK does not include javax.servlet by default. You can confirm it by prepending servlet.jar from Tomcat 6 in Maven classpath. Think about from the perspective of what was changed in the system when it became dysfunctional. Tomcat was changed and simultaneously jdk was changed. Try to run your set-up with jdk6/tomcat7 and jdk7/tomcat6 I bet that the latter will work.

          Yes it works perfectly with tomcat 6.
          I mentionned that jdk 5 builds fail when jenkins runs on tomcat 7 (whereas jdk 6 builds are OK), because I thought this information would help to improve the tomcat 7 support for jenkins.

          François Houdebert added a comment - Yes it works perfectly with tomcat 6. I mentionned that jdk 5 builds fail when jenkins runs on tomcat 7 (whereas jdk 6 builds are OK), because I thought this information would help to improve the tomcat 7 support for jenkins.

          François,
          If you really must run your jdk5 builds on Tomcat 7, you will have to make Tomcat 6 libraries available to your jdk5 process. That's all I can recommend here.

          Andrey Myatlyuk added a comment - François, If you really must run your jdk5 builds on Tomcat 7, you will have to make Tomcat 6 libraries available to your jdk5 process. That's all I can recommend here.

          I will probably stay a bit longer with tomcat 6. Thanks for the answer anyway

          François Houdebert added a comment - I will probably stay a bit longer with tomcat 6. Thanks for the answer anyway

          The issue was resolved, not a defect.

          Andrey Myatlyuk added a comment - The issue was resolved, not a defect.

          Brian Preuß added a comment -

          I can't understand why this issue is resolved as not a defect. I certainly want to be able to use Jenkins on Tomcat 7 using a build job with JDK 5.

          Here a stack trace from Jenkins 1.477 on Tomcat 7 runnning a JDK 5 build.

          java.io.IOException: Remote call on Channel to Maven [/opt/jdk1.5.0_17/bin/java, -Xmx1024m, -Xms512m, -XX:MaxPermSize=512m, -Djava.awt.headless=true, -cp, /home/jenkins/jenkins/plugins/maven-plugin/WEB-INF/lib/maven3-agent-1.2.jar:/home/jenkins/tools/maven/maven-3.0.3/boot/plexus-classworlds-2.4.jar, org.jvnet.hudson.maven3.agent.Maven3Main, /home/jenkins/tools/maven/maven-3.0.3, /home/jenkins/tomcat7/webapps/jenkins/WEB-INF/lib/remoting-2.16.jar, /home/jenkins/jenkins/plugins/maven-plugin/WEB-INF/lib/maven3-interceptor-1.2.jar, 50806] failed
          	at hudson.remoting.Channel.call(Channel.java:672)
          	at hudson.maven.ProcessCache$MavenProcess.call(ProcessCache.java:156)
          	at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.doRun(MavenModuleSetBuild.java:791)
          	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:499)
          	at hudson.model.Run.execute(Run.java:1502)
          	at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:477)
          	at hudson.model.ResourceController.execute(ResourceController.java:88)
          	at hudson.model.Executor.run(Executor.java:236)
          Caused by: java.lang.ClassFormatError: Failed to load org.kohsuke.stapler.Stapler
          	at hudson.remoting.RemoteClassLoader.loadClassFile(RemoteClassLoader.java:154)
          	at hudson.remoting.RemoteClassLoader.findClass(RemoteClassLoader.java:131)
          	at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
          	at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
          	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
          	at hudson.model.Result.<clinit>(Result.java:191)
          	at java.lang.Class.forName0(Native Method)
          	at java.lang.Class.forName(Class.java:164)
          	at $Proxy2.<clinit>(Unknown Source)
          	at sun.reflect.GeneratedSerializationConstructorAccessor36.newInstance(Unknown Source)
          	at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
          	at java.io.ObjectStreamClass.newInstance(ObjectStreamClass.java:896)
          	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1704)
          	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
          	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
          	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
          	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
          	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
          	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
          	at java.util.HashMap.readObject(HashMap.java:1067)
          	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
          	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
          	at java.lang.reflect.Method.invoke(Method.java:585)
          	at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:946)
          	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1809)
          	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
          	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
          	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
          	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
          	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
          	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
          	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
          	at hudson.remoting.UserRequest.deserialize(UserRequest.java:182)
          	at hudson.remoting.UserRequest.perform(UserRequest.java:98)
          	at hudson.remoting.UserRequest.perform(UserRequest.java:48)
          	at hudson.remoting.Request$2.run(Request.java:326)
          	at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
          	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
          	at java.util.concurrent.FutureTask.run(FutureTask.java:123)
          	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
          	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
          	at java.lang.Thread.run(Thread.java:595)
          Caused by: java.lang.ClassFormatError: Failed to load javax.servlet.http.HttpServlet
          	at hudson.remoting.RemoteClassLoader.loadClassFile(RemoteClassLoader.java:154)
          	at hudson.remoting.RemoteClassLoader.findClass(RemoteClassLoader.java:131)
          	at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
          	at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
          	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
          	at java.lang.ClassLoader.defineClass1(Native Method)
          	at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
          	at java.lang.ClassLoader.defineClass(ClassLoader.java:465)
          	at hudson.remoting.RemoteClassLoader.loadClassFile(RemoteClassLoader.java:152)
          	... 42 more
          Caused by: java.lang.UnsupportedClassVersionError: Bad version number in .class file
          	at java.lang.ClassLoader.defineClass1(Native Method)
          	at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
          	at java.lang.ClassLoader.defineClass(ClassLoader.java:465)
          	at hudson.remoting.RemoteClassLoader.loadClassFile(RemoteClassLoader.java:152)
          	... 50 more
          

          Brian Preuß added a comment - I can't understand why this issue is resolved as not a defect. I certainly want to be able to use Jenkins on Tomcat 7 using a build job with JDK 5. Here a stack trace from Jenkins 1.477 on Tomcat 7 runnning a JDK 5 build. java.io.IOException: Remote call on Channel to Maven [/opt/jdk1.5.0_17/bin/java, -Xmx1024m, -Xms512m, -XX:MaxPermSize=512m, -Djava.awt.headless= true , -cp, /home/jenkins/jenkins/plugins/maven-plugin/WEB-INF/lib/maven3-agent-1.2.jar:/home/jenkins/tools/maven/maven-3.0.3/boot/plexus-classworlds-2.4.jar, org.jvnet.hudson.maven3.agent.Maven3Main, /home/jenkins/tools/maven/maven-3.0.3, /home/jenkins/tomcat7/webapps/jenkins/WEB-INF/lib/remoting-2.16.jar, /home/jenkins/jenkins/plugins/maven-plugin/WEB-INF/lib/maven3-interceptor-1.2.jar, 50806] failed at hudson.remoting.Channel.call(Channel.java:672) at hudson.maven.ProcessCache$MavenProcess.call(ProcessCache.java:156) at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.doRun(MavenModuleSetBuild.java:791) at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:499) at hudson.model.Run.execute(Run.java:1502) at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:477) at hudson.model.ResourceController.execute(ResourceController.java:88) at hudson.model.Executor.run(Executor.java:236) Caused by: java.lang.ClassFormatError: Failed to load org.kohsuke.stapler.Stapler at hudson.remoting.RemoteClassLoader.loadClassFile(RemoteClassLoader.java:154) at hudson.remoting.RemoteClassLoader.findClass(RemoteClassLoader.java:131) at java.lang. ClassLoader .loadClass( ClassLoader .java:306) at java.lang. ClassLoader .loadClass( ClassLoader .java:251) at java.lang. ClassLoader .loadClassInternal( ClassLoader .java:319) at hudson.model.Result.<clinit>(Result.java:191) at java.lang. Class .forName0(Native Method) at java.lang. Class .forName( Class .java:164) at $Proxy2.<clinit>(Unknown Source) at sun.reflect.GeneratedSerializationConstructorAccessor36.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Constructor.java:494) at java.io.ObjectStreamClass.newInstance(ObjectStreamClass.java:896) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1704) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348) at java.util.HashMap.readObject(HashMap.java:1067) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:946) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1809) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348) at hudson.remoting.UserRequest.deserialize(UserRequest.java:182) at hudson.remoting.UserRequest.perform(UserRequest.java:98) at hudson.remoting.UserRequest.perform(UserRequest.java:48) at hudson.remoting.Request$2.run(Request.java:326) at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269) at java.util.concurrent.FutureTask.run(FutureTask.java:123) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) at java.lang. Thread .run( Thread .java:595) Caused by: java.lang.ClassFormatError: Failed to load javax.servlet.http.HttpServlet at hudson.remoting.RemoteClassLoader.loadClassFile(RemoteClassLoader.java:154) at hudson.remoting.RemoteClassLoader.findClass(RemoteClassLoader.java:131) at java.lang. ClassLoader .loadClass( ClassLoader .java:306) at java.lang. ClassLoader .loadClass( ClassLoader .java:251) at java.lang. ClassLoader .loadClassInternal( ClassLoader .java:319) at java.lang. ClassLoader .defineClass1(Native Method) at java.lang. ClassLoader .defineClass( ClassLoader .java:620) at java.lang. ClassLoader .defineClass( ClassLoader .java:465) at hudson.remoting.RemoteClassLoader.loadClassFile(RemoteClassLoader.java:152) ... 42 more Caused by: java.lang.UnsupportedClassVersionError: Bad version number in . class file at java.lang. ClassLoader .defineClass1(Native Method) at java.lang. ClassLoader .defineClass( ClassLoader .java:620) at java.lang. ClassLoader .defineClass( ClassLoader .java:465) at hudson.remoting.RemoteClassLoader.loadClassFile(RemoteClassLoader.java:152) ... 50 more

          Ophélie Salm added a comment -

          Hi,

          I'm reopening this issue because it really seams to be a defect.
          I encountered the same problem running Jenkins LTS 1.480.2 on Tomcat 7 with JDK6

          I want to build a maven project with the maven 2/3 job type using a JDK 1.5.
          Here is the complete stack trace i get :

          java.io.IOException: Remote call on Channel to Maven [C:\Applications\Java\JDK\JDK1.5.0/bin/java, -Dm3plugin.lib=E:\.jenkins\plugins\artifactory\WEB-INF\lib, -cp, E:\.jenkins\plugins\maven-plugin\WEB-INF\lib\maven3-agent-1.2.jar;C:\maven\boot\plexus-classworlds-2.4.jar, org.jvnet.hudson.maven3.agent.Maven3Main, C:\maven, C:\TomcatInstance\JENKINS\webapps\ci\WEB-INF\lib\remoting-2.17.jar, E:\.jenkins\plugins\maven-plugin\WEB-INF\lib\maven3-interceptor-1.2.jar, 51083] failed
          	at hudson.remoting.Channel.call(Channel.java:673)
          	at hudson.maven.ProcessCache$MavenProcess.call(ProcessCache.java:156)
          	at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.doRun(MavenModuleSetBuild.java:791)
          	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:499)
          	at hudson.model.Run.execute(Run.java:1502)
          	at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:477)
          	at hudson.model.ResourceController.execute(ResourceController.java:88)
          	at hudson.model.Executor.run(Executor.java:236)
          Caused by: java.lang.ClassFormatError: Failed to load org.kohsuke.stapler.Stapler
          	at hudson.remoting.RemoteClassLoader.loadClassFile(RemoteClassLoader.java:154)
          	at hudson.remoting.RemoteClassLoader.findClass(RemoteClassLoader.java:131)
          	at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
          	at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
          	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
          	at hudson.model.Result.<clinit>(Result.java:191)
          	at java.lang.Class.forName0(Native Method)
          	at java.lang.Class.forName(Class.java:164)
          	at $Proxy2.<clinit>(Unknown Source)
          	at sun.reflect.GeneratedSerializationConstructorAccessor37.newInstance(Unknown Source)
          	at java.lang.reflect.Constructor.newInstance(Constructor.java:501)
          	at java.io.ObjectStreamClass.newInstance(ObjectStreamClass.java:896)
          	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1704)
          	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
          	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1910)
          	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1834)
          	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
          	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
          	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
          	at java.util.HashMap.readObject(HashMap.java:1067)
          	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
          	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
          	at java.lang.reflect.Method.invoke(Method.java:592)
          	at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:946)
          	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1812)
          	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
          	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
          	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1910)
          	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1834)
          	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
          	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
          	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
          	at hudson.remoting.UserRequest.deserialize(UserRequest.java:182)
          	at hudson.remoting.UserRequest.perform(UserRequest.java:98)
          	at hudson.remoting.UserRequest.perform(UserRequest.java:48)
          	at hudson.remoting.Request$2.run(Request.java:326)
          	at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
          	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
          	at java.util.concurrent.FutureTask.run(FutureTask.java:123)
          	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:651)
          	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:676)
          	at java.lang.Thread.run(Thread.java:595)
          Caused by: java.lang.ClassFormatError: Failed to load javax.servlet.http.HttpServlet
          	at hudson.remoting.RemoteClassLoader.loadClassFile(RemoteClassLoader.java:154)
          	at hudson.remoting.RemoteClassLoader.findClass(RemoteClassLoader.java:131)
          	at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
          	at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
          	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
          	at java.lang.ClassLoader.defineClass1(Native Method)
          	at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
          	at java.lang.ClassLoader.defineClass(ClassLoader.java:466)
          	at hudson.remoting.RemoteClassLoader.loadClassFile(RemoteClassLoader.java:152)
          	... 42 more
          Caused by: java.lang.UnsupportedClassVersionError: Bad version number in .class file
          	at java.lang.ClassLoader.defineClass1(Native Method)
          	at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
          	at java.lang.ClassLoader.defineClass(ClassLoader.java:466)
          	at hudson.remoting.RemoteClassLoader.loadClassFile(RemoteClassLoader.java:152)
          	... 50 more
          

          However, when i configure my project using a free style job type and the same JDK 1.5, it builds successfully.

          The issue seams to be related to the maven plugin dependency on the servlet api.

          Ophélie Salm added a comment - Hi, I'm reopening this issue because it really seams to be a defect. I encountered the same problem running Jenkins LTS 1.480.2 on Tomcat 7 with JDK6 I want to build a maven project with the maven 2/3 job type using a JDK 1.5. Here is the complete stack trace i get : java.io.IOException: Remote call on Channel to Maven [C:\Applications\Java\JDK\JDK1.5.0/bin/java, -Dm3plugin.lib=E:\.jenkins\plugins\artifactory\WEB-INF\lib, -cp, E:\.jenkins\plugins\maven-plugin\WEB-INF\lib\maven3-agent-1.2.jar;C:\maven\boot\plexus-classworlds-2.4.jar, org.jvnet.hudson.maven3.agent.Maven3Main, C:\maven, C:\TomcatInstance\JENKINS\webapps\ci\WEB-INF\lib\remoting-2.17.jar, E:\.jenkins\plugins\maven-plugin\WEB-INF\lib\maven3-interceptor-1.2.jar, 51083] failed at hudson.remoting.Channel.call(Channel.java:673) at hudson.maven.ProcessCache$MavenProcess.call(ProcessCache.java:156) at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.doRun(MavenModuleSetBuild.java:791) at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:499) at hudson.model.Run.execute(Run.java:1502) at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:477) at hudson.model.ResourceController.execute(ResourceController.java:88) at hudson.model.Executor.run(Executor.java:236) Caused by: java.lang.ClassFormatError: Failed to load org.kohsuke.stapler.Stapler at hudson.remoting.RemoteClassLoader.loadClassFile(RemoteClassLoader.java:154) at hudson.remoting.RemoteClassLoader.findClass(RemoteClassLoader.java:131) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at java.lang.ClassLoader.loadClass(ClassLoader.java:252) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) at hudson.model.Result.<clinit>(Result.java:191) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:164) at $Proxy2.<clinit>(Unknown Source) at sun.reflect.GeneratedSerializationConstructorAccessor37.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Constructor.java:501) at java.io.ObjectStreamClass.newInstance(ObjectStreamClass.java:896) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1704) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1910) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1834) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348) at java.util.HashMap.readObject(HashMap.java:1067) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:592) at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:946) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1812) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1910) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1834) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348) at hudson.remoting.UserRequest.deserialize(UserRequest.java:182) at hudson.remoting.UserRequest.perform(UserRequest.java:98) at hudson.remoting.UserRequest.perform(UserRequest.java:48) at hudson.remoting.Request$2.run(Request.java:326) at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269) at java.util.concurrent.FutureTask.run(FutureTask.java:123) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:651) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:676) at java.lang.Thread.run(Thread.java:595) Caused by: java.lang.ClassFormatError: Failed to load javax.servlet.http.HttpServlet at hudson.remoting.RemoteClassLoader.loadClassFile(RemoteClassLoader.java:154) at hudson.remoting.RemoteClassLoader.findClass(RemoteClassLoader.java:131) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at java.lang.ClassLoader.loadClass(ClassLoader.java:252) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:621) at java.lang.ClassLoader.defineClass(ClassLoader.java:466) at hudson.remoting.RemoteClassLoader.loadClassFile(RemoteClassLoader.java:152) ... 42 more Caused by: java.lang.UnsupportedClassVersionError: Bad version number in .class file at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:621) at java.lang.ClassLoader.defineClass(ClassLoader.java:466) at hudson.remoting.RemoteClassLoader.loadClassFile(RemoteClassLoader.java:152) ... 50 more However, when i configure my project using a free style job type and the same JDK 1.5, it builds successfully. The issue seams to be related to the maven plugin dependency on the servlet api.

          Michael Koch added a comment -

          This seems to be the same as JENKINS-16920. Jesse Glick discusses some possible solutions in his comment there.

          Michael Koch added a comment - This seems to be the same as JENKINS-16920 . Jesse Glick discusses some possible solutions in his comment there.

            kukido Andrey Myatlyuk
            fhoudebert François Houdebert
            Votes:
            4 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              Resolved: