Rai*_*lam 6 java ant performance compilation
我正在尝试编写用于编译源文件夹的ant build,这是我编译的脚本目标.
<target name="compile" depends="init">
<javac srcdir="${src.dir}" destdir="${classes.dir}" debug="true">
<classpath refid="master-classpath"/>
</javac>
</target>
Run Code Online (Sandbox Code Playgroud)
在我的项目中,我有大约1000个.java文件.当.java更改单个文件时,目标往往会编译所有.java文件.这使得开发非常缓慢.我只是想知道有没有任何方法或代码来改变任务的行为,只编译修改或更改的.java文件而不是所有.java文件.
请帮我.
Lan*_*Lan 11
据我了解,仅编译修改过的java文件是ant javac task的默认行为.Ant使用.java文件的时间戳及其相应的.class文件来确定是否需要重新编译Java文件.我在很多项目中都使用它,从来没有问题.
以下是您可以查看的一些内容
您的源树目录结构是否与Java包结构相匹配?请参阅为什么ant总是重新编译我的所有Java文件?.这可能是常见问题解答中的第一个原因.
我看到你的compile目标取决于init目标?什么是init目标呢?它取决于任何clean目标还是清理.class文件?
你的蚂蚁版本是什么?你可以尝试不同的蚂蚁版本,看看你是否还有同样的问题?
如果以上都不能解决您的问题,那么在编译之后,您是否可以手动检查.class文件时间戳并将其与相应.java文件的时间戳进行比较?
| 归档时间: |
|
| 查看次数: |
8892 次 |
| 最近记录: |