SOLVED I narrowed the problem down to the weblogic servicegen task setup. When using the ant task to call the nested build file, servicegen was not setup. By using the exec task, the build file runs just the same as when run directly, so the problem goes away.
Basically I changed the wrapper build file to ... <project name="foo build wrapper" default="build" basedir="projects/foo"> <property name="wl.ant.bat" value="C;bea/weblogic81/server/bin/ant.bat"/> <target name="build"> <echo message="path right now is ${java.library.path}" /> <!-- Get the latest from CVS --> <cvs command="up -d -P"/> <!-- Call the target that does everything --> <exec executable="${wl.ant.bat}" dir="."> <arg value="clean"/> <arg value="ear"/> <env key="ANT_HOME" value=""/> <env key="CLASSPATH" value=""/> </exec> </target> </project>