Community
Participate
Working Groups
Created attachment 246920 [details] eclipse project with sources and libraries Setting JDK 1.5 as JAVA_HOME, iajc task fails with the following error output [echo] Invoking AspectJ compiler [iajc] Exception thrown from AspectJ 1.8.2 [iajc] [iajc] This might be logged as a bug already -- find current bugs at [iajc] http://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&component=Compiler [iajc] [iajc] Bugs for exceptions thrown have titles File:line from the top stack, [iajc] e.g., "SomeFile.java:243" [iajc] [iajc] If you don't find the exception below in a bug, please add a new bug [iajc] at http://bugs.eclipse.org/bugs/enter_bug.cgi?product=AspectJ [iajc] To make the bug a priority, please include a test program [iajc] that can reproduce this exception. [iajc] Bad version number in .class file [iajc] [iajc] Bad version number in .class file [iajc] java.lang.UnsupportedClassVersionError: Bad version number in .class file [iajc] at java.lang.ClassLoader.defineClass1(Native Method) [iajc] at java.lang.ClassLoader.defineClass(ClassLoader.java:621) [iajc] at org.apache.tools.ant.AntClassLoader.defineClassFromData(AntClassLoader.java:1128) [iajc] at org.apache.tools.ant.AntClassLoader.getClassFromStream(AntClassLoader.java:1299) [iajc] at org.apache.tools.ant.AntClassLoader.findClassInComponents(AntClassLoader.java:1355) [iajc] at org.apache.tools.ant.AntClassLoader.findClass(AntClassLoader.java:1315) [iajc] at org.apache.tools.ant.AntClassLoader.loadClass(AntClassLoader.java:1068) [iajc] at java.lang.ClassLoader.loadClass(ClassLoader.java:252) [iajc] at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) [iajc] at java.lang.ClassLoader.defineClass1(Native Method) [iajc] at java.lang.ClassLoader.defineClass(ClassLoader.java:621) [iajc] at org.apache.tools.ant.AntClassLoader.defineClassFromData(AntClassLoader.java:1128) [iajc] at org.apache.tools.ant.AntClassLoader.getClassFromStream(AntClassLoader.java:1299) [iajc] at org.apache.tools.ant.AntClassLoader.findClassInComponents(AntClassLoader.java:1355) [iajc] at org.apache.tools.ant.AntClassLoader.findClass(AntClassLoader.java:1315) [iajc] at org.apache.tools.ant.AntClassLoader.loadClass(AntClassLoader.java:1068) [iajc] at java.lang.ClassLoader.loadClass(ClassLoader.java:252) [iajc] at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) [iajc] at org.aspectj.tools.ajc.Main.runMain(Main.java:225) [iajc] at org.aspectj.tools.ant.taskdefs.AjcTask.executeInSameVM(AjcTask.java:1282) [iajc] at org.aspectj.tools.ant.taskdefs.AjcTask.execute(AjcTask.java:1092) [iajc] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291) [iajc] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [iajc] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [iajc] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [iajc] at java.lang.reflect.Method.invoke(Method.java:592) [iajc] at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) [iajc] at org.apache.tools.ant.Task.perform(Task.java:348) [iajc] at org.apache.tools.ant.Target.execute(Target.java:392) [iajc] at org.apache.tools.ant.Target.performTasks(Target.java:413) [iajc] at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399) [iajc] at org.apache.tools.ant.Project.executeTarget(Project.java:1368) [iajc] at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41) [iajc] at org.apache.tools.ant.Project.executeTargets(Project.java:1251) [iajc] at org.apache.tools.ant.Main.runBuild(Main.java:811) [iajc] at org.apache.tools.ant.Main.startAnt(Main.java:217) [iajc] at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280) [iajc] at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109) When JAVA_HOME points to above 1.6 installations, it works fine and compiles correctly the 1.4 target. The used ant version is 1.8.3.
This issue occurs also on Linux machine's JDK 1.5. Also on Linux, JDK 1.6 compiles without error, and that, with ant of version 1.7.0. which seems to indicate that it's not ANT's problem.
I believe this is unfortunately due to the Eclipse Compiler upgrading to a Java 1.6 baseline. The AspectJ code is still Java5 but because we use a modified Eclipse compiler to do the compiler heavy lifting we now also have this 1.6 requirement. Are you ok to simply use an earlier version of AspectJ that is 1.5 compatible?