关于java:Ant Javac和Commandline Javac给出不同的结果

Ant Javac and Commandline Javac give different results

我有一个类可以导入一些 servlet 库。当我从命令行编译它时很好。

当我使用 ant compile 任务编译它时,它给出了在其路径中找不到 servlet 库的错误。

这是一个已知/常见的情况吗?

这是我的 Ant 目标:

1
2
3
4
<target name="compile" depends="prepare" description="compile the source">
    <echo>=== COMPILE === SRCDIR: ${src}/com/udfr/src/java </echo> <!-- Compile the java code from ${src} into ${build} -->
    <javac srcdir="${src}/com/udfr/src/java" destdir="${dist}/WEB-INF/classes"/>
</target>


由于某种原因,当您在命令行中编译程序时,包含 Servlet API 的 JAR 文件是类路径的一部分。但是,它不在 javac Ant 任务的类路径中。

您应该明确地将 JAR 文件添加到您的 javac Ant 任务中的类路径中。有几种方法可以做到这一点;请阅读 http://ant.apache.org/manual/Tasks/javac.html


如果您没有在 javac 任务的类路径中正确指定 servlet 库,这是很常见的情况...我怀疑这是问题所在。如果您发布失败的任务和有效的命令行,我们将能够提供更多帮助。