我可以得到一个ant编译只重建已经改变的java类,但我不能让Gradle这样做.
我有一个结构项目
root
/src/main/java
/pkg1/File1.java
/pkg2/File2.java
/build.gradle
/build.xml (for comparing against ant)
Run Code Online (Sandbox Code Playgroud)
File1和File2不相互依赖.File1和File2包含正确的包信息
我的build.gradle文件只有1行
apply plugin: 'java'
Run Code Online (Sandbox Code Playgroud)
Ant:当我这样做时,ant compile它会创建两个.class文件File1.class和File2.class.当我更改File2.java并重新编译时,只有File2重建.这是我期望的行为?
Gradle:当我这样做时,gradle compileJava它会创建两个.class文件File1.class和File2.class.当我只更改File2.java并重新编译时,重建了File1和File2.为什么File1在这里重新编译?
这可能是由于配置问题?或者目前Gradle是不可能的?也许这首先是一个坏主意,如果是这样,为什么?
为了完整性,ant文件看起来像这样:
<property name="src" location="src/main/java/"/>
<property name="build" location="build"/>
<target name="init">
<tstamp/>
<mkdir dir="${build}"/>
</target>
<target name="compile" depends="init" description="compile the source " >
<javac srcdir="${src}" destdir="${build}" includeDestClasses="true"/>
</target>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4308 次 |
| 最近记录: |