java - 让 Ant 在不同情况下使用不同的构建类?

标签 java tomcat ant

我们使用 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/

相关文章:

java - 在 spring boot 中使用现有的 http 服务器作为 Camel 端点

java - 嵌入式 Tomcat 8 无法启动

java - Spring MVC App index.jsp 未在浏览器中显示,HTTP 404 结果

maven - 用maven复制一个jar文件

java - 提取 PDF 时忽略表格

java - 使用 ImageIO 输入 null 异常读取 PNG

java - 导入模块中的不可见构造函数?

java - 为什么解析此日期字符串会引发无法解析的日期异常?

Apache Tomcat 监听多个端口

java - 从 Eclipse 启动时出现 NoClassDefFoundError,但在 Ant 中工作正常