Java Gradle总是从任何任务中打印
我有一个简单的Java Gradle总是从任何任务中打印,java,gradle,println,Java,Gradle,Println,我有一个简单的build.gradle(或者任何build.gradle,任务有println) 现在,当我运行$gradlebuild时,我总是看到任务正在执行或打印输出 task1 starting :compileJava UP-TO-DATE :processResources UP-TO-DATE :classes UP-TO-DATE :jar :assemble :compileTestJava UP-TO-DATE :processTestResources UP-TO-DATE
build.gradle
(或者任何build.gradle
,任务有println
)
现在,当我运行$gradlebuild
时,我总是看到任务正在执行或打印输出
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'
}
第55章中的任务1。构建生命周期
重复:在我看来,这两个问题都在问“为什么println总是打印?”。问题的目的是不同的,但是潜在的问题是关于相同的Gradle行为。我认为这两个问题都不应重复,但我认为任何后续读者都将受益于评论中的交叉链接。
task task1 << {
println 'task1 action'
}
// in `settings.gradle`
// println 'This is executed during the initialization phase.'
println 'This is executed during the configuration phase.'
task configure {
println 'This is also executed during the configuration phase.'
}
task execute << {
println 'This is executed during the execution phase.'
}
This is executed during the initialization phase.
This is executed during the configuration phase.
This is also executed during the configuration phase.
:help
Welcome to Gradle 1.10.
To run a build, run gradle <task> ...
To see a list of available tasks, run gradle tasks
To see a list of command-line options, run gradle --help
BUILD SUCCESSFUL
Total time: 1.882 secs