我是Gradle的新手,并且正在使用一个小任务来启动/停止本地tomcat服务器。
我的gradle任务:
task startTomcat(type: Exec){
workingDir ENV['CATALINA_HOME'] + '/bin'
commandLine 'cmd', '/c', 'catalina.bat'
args 'start'
}
当我运行此任务时,tomcat确实会启动。但是任务尚未完成,并且一直在等待。我已经浏览了Exec文档页面,但没有任何线索。
请帮忙。
感谢Peter的投入。这是使用以下方法为我工作的解决方案ProcessBuilder
:
/* Configuration for tomcat */
task catalinaConfig {
ext.binDir = ENV['CATALINA_HOME'] + "\\bin"
}
task startTomcat << {
println "Tomcat path: " + catalinaConfig.binDir
ProcessBuilder pb = new ProcessBuilder(["cmd", "/c", "catalina.bat", "start"]);
pb.directory(new File(catalinaConfig.binDir));
println "Starting tomcat now ... "
Process proc = pb.start();
proc.waitFor();
println "Tomcat is coming up now ... " + proc.exitValue()
}
task stopTomcat << {
println "Tomcat path: " + catalinaConfig.binDir
ProcessBuilder pb1 = new ProcessBuilder(["cmd", "/c", "catalina.bat", "stop"]);
pb1.directory(new File(catalinaConfig.binDir));
println "Stopping tomcat now ... "
Process proc1 = pb1.start();
proc1.waitFor();
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句