In order to see the problem you are probably going to need a decompiler I was using jad. The command I was running is jad -p -lnc Test.class So this is the behavior am seeing: ant compile -> jad shows no line numbers. ant jikes compile -> jad shows line numbers javac Test.class -> jad shows line numbers jikes -classpath $JAVA_HOME/jre/lib/rt.jar Test.class -> jad shows line numbers So the problem is as follows by default javac and jikes add the debugging information to the class files. In order to disable the functionality the -g:none flags needs to be passed. Ant does this automatically for javac but not for jikes. Attached is a patch to Jikes.java that will make the behavior consistent. jdk 1.4.1_02 ant 1.6.0 jad 1.5.8e
Created attachment 9774 [details] Contains a build file and a java file to display the problem
Created attachment 9775 [details] Show the modification to Jikes.java
The reason is that jikes didn't support -g:none when we wrote the code. Any idea which version of Jikes added support for it? If we change it now, we run the risk of breaking support for older versions of Jikes that may still be in use.
Jikes CVS hints it has been supported since 1.15, long enough to support it by default IMHO.