I'm trying to compile a source tree with the javac task.  I have
set  build.compiler=jikes.  The target XML looks like this:

<target name="build_java" depends="init">
  <mkdir dir="${escrow.classes}"/>
  <javac
      srcdir="${escrow.source}"
      destdir="${escrow.classes}"
      includes="com/escrow/**"
      classpath="${build.classpath}"
      debug="on"
  />
</target>

The resulting set of files number 402 source files.  When I run
the build, I get (sorry for the long wrapped lines, but that's
what comes out):

BUILD FAILED

build.xml:50: Error running Jikes compiler
java.io.IOException: CreateProcess: jikes -Xstdout -d D:\EscrowSystemV2\classes -classpath D:\EscrowSystemV2\classes;D:\EscrowSystemV2\classes;D:\Software\jdk1.2.2\jre \lib\rt.jar;D:\Software\jaxp1.0.1\jaxp.jar;D:\Software\jaxp1.0.1\parser.jar; D:\Software\javamail-1.1.3\mail.jar;D:\Software\jaf-1.0.1\activation.jar;D:\ Software\WebLogic\lib\weblogic451sp9.jar;D:\Software\WebLogic\classes;D:\Sof tware\WebLogic\lib\weblogicaux.jar;D:\Software\WebLogic\lib;D:\Software\WebL ogic\license;D:\Software\junit3.2\junit.jar;D:\Software\CyberSource\cdkjava1 2-3300\cdkjava3300.jar;D:\Software\jdk1.2.2\jre\lib\rt.jar;D:\Software\jaxp1 .0.1\jaxp.jar;D:\Software\jaxp1.0.1\parser.jar;D:\Software\WebLogic\lib\webl ogic451sp9.jar;D:\Software\WebLogic\classes;D:\Software\WebLogic\lib\weblogi caux.jar;D:\Software\WebLogi
at java.lang.Win32Process.create(Native Method)
at java.lang.Win32Process.<init>(Win32Process.java:64)
at java.lang.Runtime.execInternal(Native Method)
at java.lang.Runtime.exec(Runtime.java:272)
at java.lang.Runtime.exec(Runtime.java:219)
at org.apache.tools.ant.taskdefs.Jikes.compile(Jikes.java:40)
at org.apache.tools.ant.taskdefs.Javac.doJikesCompile(Javac.java, Compiled Code)
at org.apache.tools.ant.taskdefs.Javac.execute(Javac.java, Compiled Code)
at org.apache.tools.ant.Target.execute(Target.java, Compiled Code)
at org.apache.tools.ant.Project.runTarget(Project.java:708)
at org.apache.tools.ant.Project.executeTarget(Project.java, Compiled Code)
at org.apache.tools.ant.Project.executeTargets(Project.java, Compiled Code)
at org.apache.tools.ant.Main.runBuild(Main.java, Compiled Code)
at org.apache.tools.ant.Main.main(Main.java:107)



I suspect I'm overloading the command line with too much stuff once all 402 source file names are added. I can run fine with about 200 source files, but not 400. Using the JDK compiler works fine with 402 source files, but it's much slower than Jikes.

Is there something I'm doing wrong?  Should I leave off the includes
attribute (I think it's redundant since srcdir point there anyway)?
How can I get less added to the Jikes command line?

I notice I've got double entries in the classpath, probably because
they are in my environment classpath and I feed them in via the
classpath= attribute.  I want to make sure the build uses the correct
classpath, so I want it specified in the build file.  But I need some
classpath just to run ant, and there is a fair amount of duplication.
How do I get round the duplicate classpath entries?

Thanks in advance for any tips, pointers, or ideas.

-Paul



Reply via email to