0 Replies Latest reply on Aug 31, 2010 8:00 PM by Karoy Labs

    Console Process execution FAIL: UnsupportedClassVersionError

    Karoy Labs Newbie

      JBPM 4.4 with JDK 1.5.8

       

      Process built with Ant in Eclipse, where everybody is using the same JDK as JBoss.

       

      After deploying a very simple process, the process is executed in the BPM Console by selecting 'Start' in the Process Overview. It fails with this error:

      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 org.jbpm.pvm.internal.repository.DeploymentClassLoader.findClass(DeploymentClassLoader.java:113)
          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.Class.forName0(Native Method)
          at java.lang.Class.forName(Class.java:242)
          at org.jbpm.pvm.internal.util.ReflectUtil.classForName(ReflectUtil.java:434)
          at org.jbpm.pvm.internal.wire.descriptor.ObjectDescriptor.construct(ObjectDescriptor.java:141)
          at org.jbpm.pvm.internal.wire.WireContext.construct(WireContext.java:487)
          at org.jbpm.pvm.internal.wire.WireContext.create(WireContext.java:466)
          at org.jbpm.pvm.internal.wire.WireContext.create(WireContext.java:264)
          at org.jbpm.pvm.internal.util.ReflectUtil.instantiateUserCode(ReflectUtil.java:414)
          at org.jbpm.pvm.internal.wire.usercode.UserCodeReference.getObject(UserCodeReference.java:63)
          at org.jbpm.pvm.internal.wire.usercode.UserCodeReference.getObject(UserCodeReference.java:47)
          at org.jbpm.jpdl.internal.activity.JavaActivity.perform(JavaActivity.java:58)
          at org.jbpm.jpdl.internal.activity.JpdlAutomaticActivity.execute(JpdlAutomaticActivity.java:15)

       

      This is usually because the Java version the byte code was compiled with is different than what is being used to run it with. I know this, but cannot understand how it can be the case, as I've described above, the Java versions are made sure to be the same. Or at least, that's what I claim..

       

      Any clues where I might have gone off the path would be appreciated..

       

      Thanks,

      karoy