java - Gradle总是从任何任务执行println

标签 java gradle println

我有简单的build.gradle(或具有build.gradle的任务的任何println)

println GradleVersion.current().prettyPrint()

task task1{
    println 'task1 starting'
}

现在,当我运行$ gradle build时,我总是看到任务正在执行或打印输出
task1 starting
:compileJava UP-TO-DATE
:processResources UP-TO-DATE
:classes UP-TO-DATE
:jar
:assemble
:compileTestJava UP-TO-DATE
:processTestResources UP-TO-DATE
:testClasses UP-TO-DATE
:test UP-TO-DATE
:check UP-TO-DATE
:build

BUILD SUCCESSFUL

Total time: 1.291 secs

为什么任务内部总是从println输出?

最佳答案

如果您具有以下代码:

task task1 {
    println 'task1 starting'
}

您正处于任务的配置阶段。此阶段在脚本评估期间运行。如果要在执行任务时打印某些内容,则需要为任务添加操作。

看起来像:
task task1 << {
   println 'task1 action'
}

运行任务时将评估这段代码。 <<与在Task的对象上调用doLast方法完全相同。您可以添加许多操作。

编辑
我也强烈建议您阅读this博客文章。

关于java - Gradle总是从任何任务执行println,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43914562/

相关文章:

java - 在java中将字符串转换为日期时出错

java - IO 错误 : The Network Adapter could not establish the connection when running oracle DB as docker container

java - 确定 Java 6.0 缓存文件夹中文件夹的所有权 (mac)

java - 使用 maven-tomcat-plugin 启动多个 tomcat 实例

gradle - 从 gradle 中的发布中排除一两个子项目

java - while 循环会在一段时间后停止执行吗?

Android - 如何获取 Flavor 的 ApplicationId

Android Gradle plugin 3.0.1不得应用于项目

go - 在测试 golang 的 println 和 fmt.println 时需要帮助

java - 错误处理、引发异常和用户输入