Ant编译问题

时间:2014-10-29 12:55:38

标签: java ant

我用今天的日期编译了一个java程序,然后我将系统日期改为昨天并修改了java文件。现在它不会编译。我今天仍然上课了。

<project name="SampleTest">
<target name="compile">
    <javac srcdir="${user.dir}" destdir="${user.dir}"/>
</target>
<target name="run">
    <java classname="TestSample" classpath="."/>
</target>
</project>

在此我得到了警告信息

编译:     [javac]警告:将来修改TestSample.class。 Apache Ant版本1.6.2于2004年8月5日编译

1 个答案:

答案 0 :(得分:0)

Warning: modified in the future可能包含您正在寻找的某种解释。关于这种行为有很多想法,例如:

&#34; Ant这样的问题可能来自FAT / FAT32文件系统缺少时间戳精度的问题,在Windows上使用NTFS,请参阅我的答案中的详细信息。&#34;

或者:

&#34;编译JSP文件。许多服务器还允许您替换正在运行的服务器上的文件。然后,它会比较已编译源的时间戳和jsp文件的时间戳,以确定是否需要重新编译。

如果文件将来会过时,则jsp文件将始终比类更新。这会给你一个警告。

检查文件的时间戳。也许有人在计算机上使用不正确的时钟创建它,现在它似乎是在未来创建的#34;。或者服务器的日期可能不正确(检查时区设置)。

是否涉及远程文件服务器? Web服务器和文件服务器之间的时钟漂移也可能导致此错误。&#34;

但是我向你提出的问题是你究竟想要做到这一点的目的是什么?我确定这是作为某种故障安全行为实现的。如果是这样,那么它肯定有效。

你总是可以考虑让Ant先删除.class文件。