this问题仍然存在吗?我正在尝试使用input.files
JavaExec
任务类型与最近的gradle 2.5并且没有任何效果。无论输入文件设置如何,每次都会执行任务。
所以,这是我的例子:
build.gradle
apply plugin: 'java'
task sayHello(type: JavaExec) {
inputs.files sourceSets.main.java
main = "com.question.HelloGradle"
classpath = sourceSets.main.runtimeClasspath
}
src/main/java/com/question/HelloGradle.java
package com.question;
public class HelloGradle {
public static void main(String[] args) {
System.out.println("Hello, Gradle!");
}
}
它会第二次运行,而不是最新的
但是通过解决方法,它只执行一次
task sayHello(type: JavaExec) {
inputs.files sourceSets.main.java
outputs.upToDateWhen( { return true } );
main = "com.question.HelloGradle"
classpath = sourceSets.main.runtimeClasspath
}