我正在使用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‘时,源文件只在第一次运行时编译。
我想知道为什么会发生这种情况,以及如何解决。
发布于 2017-02-27 22:20:11
javac
将编译一棵Java源代码树。
Javac将在源目录和目标目录中查找所有Java源文件。它将只编译那些不存在.class或类文件比.java文件旧的java文件。这是一种渐进式方法。只需编译丢失和更新的文件即可。
有关更多信息,请参阅javac文档。
https://stackoverflow.com/questions/42432395
复制相似问题