我们使用 Ant 构建 Java 网络应用程序。该应用程序将在 Tomcat 6 和 Tomcat 5.5 上编译和运行。但是,根据您安装的 Tomcat 版本,构建过程略有不同:5.5 将构建所需的 jar 文件保存在 $CATALINA_HOME/common/lib 和 $CATALINA_HOME/server/lib 中,而 6.0 将它们全部保存在 $CATALINA_HOME/lib 中。
我如何设置 Ant 以根据 build.properties 中的设置选择正确的类路径?我什至可以在 build.properties 的设置中列出要包含在类路径中的目录,但我无法完成这项工作。
有什么建议吗?
最佳答案
创建 2 个不同的路径项:
<path id="path.tomcat55">
<fileset ... (tomcat5.5 files) />
</path>
<path id="path.tomcat6">
<fileset ... (tomcat6 files) />
</path>
然后使用 tomcat55 路径为 55 构建单独的目标,并使用 tomcat6 为构建 6 创建另一个目标。
<target name="compile.tomcat55" depends="build">
<echo message="Compiling for Tomcat 5.5" />
<javac srcdir="${project.basedir}/src/test" destdir="${build.dir}" fork="true" source="1.5" classpathref="path.tomcat55" />
</target>
<target name="compile.tomcat6" depends="build">
<echo message="Compiling for Tomcat 6" />
<javac srcdir="${project.basedir}/src/test" destdir="${build.dir}" fork="true" source="1.5" classpathref="path.tomcat6" />
</target>
然后,只需调用适当的目标即可。
关于java - 让 Ant 在不同情况下使用不同的构建类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3578071/