以下是我的 ant 脚本的简化版本(它有项目元素等)。
我是 ant 新手,无法弄清楚为什么 'compileTests' 不能编译,而 'compileFoo' 可以。
我得到的错误是“包不存在”,因为 compileTests 项目中的类在 compileFoo 项目中找不到已编译的类,即使它们编译得很好,我也可以在文件系统和路径上看到它们它们列在类路径中(我认为这是必要的?)
显然有一些我不明白的基本内容。有人可以帮忙解释一下吗?
<path id="build_classpath">
<fileset dir="${other_required_jars}" includes="**/*.jar" />
<fileset dir="${foo_build_location}" includes="**/*.class" />
</path>
<target name="compileFoo" description="compile">
<javac srcdir="${foo_source_directory}\test-src" includeantruntime="false" destdir="${foo_build_location}" includes="**/*.java" excludes="" debug="on" optimize="off" deprecation="on" verbose="on">
<classpath refid="build_classpath" />
</javac>
</target>
<target name="compileTests" description="compile">
<javac srcdir="${test_source_directory}\test-src" includeantruntime="false" destdir="${test_build_location}" includes="**/*.java" excludes="" debug="on" optimize="off" deprecation="on" verbose="on">
<classpath refid="build_classpath" />
</javac>
</target>