为什么ANT javac任务一次又一次地重新编译我的.java



将递归扫描源目录和目标目录要编译的Java源文件。只有没有的Java文件对应的.class文件,或者该类文件比.java文件将被编译。

以上内容来自javac任务,ANT Apache。但我真的不明白为什么在我的情况下。java被一次又一次地重新编译。

我的工作目录是/中继

我的源代码(.java(位于trunk/src

我的目标(.class(位于行李箱/箱子

我的.java文件使用默认的包,即没有包声明。

javac任务在我的build.xml 中是这样使用的

<javac srcdir="${src}"
   destdir="${bin}"
   includeantruntime="false">
  <classpath>
<pathelement location="${bin}"/>    
<pathelement path="${java.class.path}"/>
  </classpath>
</javac>

我定义的地方

<property name="src"    value="src"/>
<property name="bin"    value="bin/"/>

看起来一切都很好,但每次运行ANT时,它都会重新编译.java文件。真奇怪!有人想告诉我为什么吗?谢谢

哦,我得到了答案。对不起,我没有把上面的故事全部讲出来。实际上,在"javac"部分之前,我已经生成了一个antlrlexer/parser。为此,我应该添加"-make"选项,这样lexer和解析器就不会使用最近的时间戳再次生成。(来自ANTLR3 使用ANT

ANLTR3命令行选项"-make"仅在中生成新文件以防它们比语法更老。这种行为可能会对"编译"等依赖任务的影响,这可能导致没有要处理的内容,因为它是最新的。

相关内容

  • 没有找到相关文章

最新更新