【问题标题】:ant can not incremental buildant不能增量构建
【发布时间】:2017-02-24 06:44:33
【问题描述】:

我正在使用 Ant 构建一个 java 项目,但是在 Ant 中启用增量构建时遇到了一些问题。

我的 build.xml 很简单:

<?xml version="1.0"?>
<project name="fax" basedir="." default="build">
   <property name="src.dir" value="src"/>
   <property name="build.dir" value="build"/>

   <target name="build" description="Compile source">
      <javac destdir="${build.dir}" srcdir="${src.dir}"></javac>
   </target>
</project>

但如果我多次运行“ant build”,源文件将被编译多次。增量构建似乎没有帮助。

但是,如果我将 build.xml 更改为此,请删除构建目录并直接在源目录中构建。

<?xml version="1.0"?>
<project name="fax" basedir="." default="build">
   <property name="src.dir" value="src"/>

   <target name="build" description="Compile source">
      <javac srcdir="${src.dir}"></javac>
   </target>
</project>

使用这个 build.xml 我可以看到增量构建的结果。当我多次运行“ant build”时,源文件只在第一次运行时编译。

我想知道为什么会发生这种情况以及如何解决。

【问题讨论】:

    标签: java ant


    【解决方案1】:

    javac 将编译 Java 源代码树。

    Javac 将在源目录和目标目录中查找所有 Java 源文件。它只会编译那些不存在 .class 或类文件比 .java 文件旧的 java 文件。 这是一种渐进的方法。只需编译丢失和更新的文件。

    有关更多信息,您可以参考javac 文档。

    【讨论】:

      猜你喜欢
      • 2011-03-14
      • 1970-01-01
      • 2012-11-30
      • 1970-01-01
      • 2011-09-11
      • 1970-01-01
      • 1970-01-01
      • 2011-05-18
      • 1970-01-01
      相关资源
      最近更新 更多