【发布时间】:2015-02-27 10:53:15
【问题描述】:
我正在构建运行 Tomcat 的 Gradle 脚本(遗憾的是我不能使用 Gretty 或 Cargo 插件)。启动 Tomcat ($TOMCAT_HOME/bin/startup.sh) 后,我想在 Gradle/Groovy 中打开文件,然后打印所有进入的行,换句话说:打开文件,跟踪是否 smt new 来了,打印它。
现在我的任务是这样的:
task startTomcat(dependsOn: ...) << {
def catalinaOut = "${project.TOMCAT_HOME}/logs/catalina.out"
delete { catalinaOut }
exec {
workingDir '.'
executable "${project.TOMCAT_HOME}/bin/${tomcatStartScript()}"
environment CATALINA_OPTS: tomcatArgs.join(' ')
}
new File(catalinaOut).eachLine { line -> println(line) }
}
当然它不会起作用,因为new File 打开并立即关闭文件。
【问题讨论】: