我有一个导入一些 servlet 库的类。当我从命令行编译它时,一切都很好。
当我使用ant编译任务编译它时,它给出了在其路径中找不到servlet库的错误。
这是已知/常见的现象吗?
这是我的 Ant 目标:
<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>
如果您没有在
javac
任务的类路径中正确指定 servlet 库,这是很常见的情况...我怀疑这就是问题所在。如果您发布失败的任务和有效的命令行,我们将能够提供更多帮助。
由于某种原因,当您在命令行中编译程序时,包含 Servlet API 的 JAR 文件是类路径的一部分。但是,它不在
javac
Ant 任务的类路径中。
您应该将 JAR 文件显式添加到
javac
Ant 任务中的类路径中。有几种方法可以做到这一点;请阅读 http://ant.apache.org/manual/Tasks/javac.html
差异是因为 ANT 的 javac 默认情况下调试模式为 false。
转向
调试=“真”
在ANT脚本的javac中会生成相同的类文件 这是在cmd中使用maven或普通javac生成的。