I am trying to run a DDTUnit test using version 8.5 I am using running it from within RAD6 which uses IBM JRE 1.4.2.
I am getting the following message when I try to run a test case:
Exception in thread "main" java.lang.UnsupportedClassVersionError: junitx/ddtunit/DDTTestCase (Unsupported major.minor version 49.0)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:810)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:147)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:475)
at java.net.URLClassLoader.access$500(URLClassLoader.java:109)
at java.net.URLClassLoader$ClassFinder.run(URLClassLoader.java:848)
at java.security.AccessController.doPrivileged1(Native Method)
at java.security.AccessController.doPrivileged(AccessController.java:389)
at java.net.URLClassLoader.findClass(URLClassLoader.java:371)
at java.lang.ClassLoader.loadClass(ClassLoader.java:572)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:442)
at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:810)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:147)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:475)
at java.net.URLClassLoader.access$500(URLClassLoader.java:109)
at java.net.URLClassLoader$ClassFinder.run(URLClassLoader.java:848)
at java.security.AccessController.doPrivileged1(Native Method)
at java.security.AccessController.doPrivileged(AccessController.java:389)
at java.net.URLClassLoader.findClass(URLClassLoader.java:371)
at java.lang.ClassLoader.loadClass(ClassLoader.java:572)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:442)
at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadSuiteClass(RemoteTestRunner.java:393)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.getTest(RemoteTestRunner.java:347)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:404)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:311)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
This seems to imply that I need to be running a 1.5 JRE to use DDTUnit. Is this correct or am missing something? Thanks in advance for your help.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi Mark,
yes I use Java 5 features in code and for this compile the library under jdk5.
There are two options to run DDTUnit under jdk1.4
a) revert the code changes in DDTUnit source and compile under jdk 1.4
actually I can't support two source branches because of low resources
b) use a retro weaving tool with special runtime libraries for java 5 extensions
Here is an opinion of a colleague that actually used the second approach:
Jürgen Süßner wrote:
To the JDK 1.4 problem:
As i said i have to use websphere application server 5.1 and that does only
support jdk < 1.5. therfore i made my own backport of the sources. In my
oppinion ddtUnit should stay on 1.5 and persons who have to use < 1.5 do
have to use retrowaving tools or wait untill javac can compile 1.4 code from
1.5 source. if i could i would use 1.5 as well becaus i like the idea of
generics or the autoboxing features.
So i would say stay on jdk 1.5 its probably the better way, maybe an
automatic translation to 1.4 could be made avalable using retrowaver maven
plugin.
I am trying to run a DDTUnit test using version 8.5 I am using running it from within RAD6 which uses IBM JRE 1.4.2.
I am getting the following message when I try to run a test case:
Exception in thread "main" java.lang.UnsupportedClassVersionError: junitx/ddtunit/DDTTestCase (Unsupported major.minor version 49.0)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:810)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:147)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:475)
at java.net.URLClassLoader.access$500(URLClassLoader.java:109)
at java.net.URLClassLoader$ClassFinder.run(URLClassLoader.java:848)
at java.security.AccessController.doPrivileged1(Native Method)
at java.security.AccessController.doPrivileged(AccessController.java:389)
at java.net.URLClassLoader.findClass(URLClassLoader.java:371)
at java.lang.ClassLoader.loadClass(ClassLoader.java:572)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:442)
at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:810)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:147)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:475)
at java.net.URLClassLoader.access$500(URLClassLoader.java:109)
at java.net.URLClassLoader$ClassFinder.run(URLClassLoader.java:848)
at java.security.AccessController.doPrivileged1(Native Method)
at java.security.AccessController.doPrivileged(AccessController.java:389)
at java.net.URLClassLoader.findClass(URLClassLoader.java:371)
at java.lang.ClassLoader.loadClass(ClassLoader.java:572)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:442)
at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadSuiteClass(RemoteTestRunner.java:393)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.getTest(RemoteTestRunner.java:347)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:404)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:311)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
This seems to imply that I need to be running a 1.5 JRE to use DDTUnit. Is this correct or am missing something? Thanks in advance for your help.
Hi Mark,
yes I use Java 5 features in code and for this compile the library under jdk5.
There are two options to run DDTUnit under jdk1.4
a) revert the code changes in DDTUnit source and compile under jdk 1.4
actually I can't support two source branches because of low resources
b) use a retro weaving tool with special runtime libraries for java 5 extensions
Here is an opinion of a colleague that actually used the second approach:
Jürgen Süßner wrote:
To the JDK 1.4 problem:
As i said i have to use websphere application server 5.1 and that does only
support jdk < 1.5. therfore i made my own backport of the sources. In my
oppinion ddtUnit should stay on 1.5 and persons who have to use < 1.5 do
have to use retrowaving tools or wait untill javac can compile 1.4 code from
1.5 source. if i could i would use 1.5 as well becaus i like the idea of
generics or the autoboxing features.
So i would say stay on jdk 1.5 its probably the better way, maybe an
automatic translation to 1.4 could be made avalable using retrowaver maven
plugin.
The reference: http://retroweaver.sourceforge.net/
For now I have no actual experience with this tool.
Perhaps if there is a demand for jdk 1.4 resources I will try to provide archives on this basis.
Best regards
Jörg