如何在gradle中加速tomcat启动过程?

时间:2014-11-15 06:03:30

标签: gradle tomcat7 build.gradle

尝试使用此gradle代码段启动tomcat

task startTomcat(type:Exec) {
    workingDir tomcat_home + "\\bin"
    commandLine 'cmd', '/c', 'startup.bat'
}

运行此任务后,tomcat正在启动但是gradle构建过程被挂起(等待)。如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

您可以在后台运行此任务,但保持对正在运行的进程的控制可能并不困难但有问题(例如,可以通过添加stopTomcat任务来解决 - 按需停止它)。您需要的是以下代码:

task startTomcat << {
   def processBuilder = new ProcessBuilder(['cmd','/c','startup.bat'])
   processBuilder.directory(new File("$tomcat_home\\bin"))
   processBuilder.start()
}

我不保证这样可以正常工作,因为我没有任何Windows工作站可以试用,但这是应该在(可能需要)改变之后完成工作的代码。