Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在gradle中加速tomcat启动过程?_Gradle_Tomcat7_Build.gradle - Fatal编程技术网

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

如何在gradle中加速tomcat启动过程?,gradle,tomcat7,build.gradle,Gradle,Tomcat7,Build.gradle,尝试使用此gradle代码段启动tomcat task startTomcat(type:Exec) { workingDir tomcat_home + "\\bin" commandLine 'cmd', '/c', 'startup.bat' } 运行后,tomcat将启动此任务,但gradle构建过程已挂起(等待)。如何解决此问题?您可以在后台运行此任务,但保持对正在运行的进程的控制可能并不困难,但有问题(例如,按需停止它-这可以通过添加stopTomcat任务来解决)

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

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

运行后,tomcat将启动此任务,但gradle构建过程已挂起(等待)。如何解决此问题?

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

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

task startTomcat在tomcat运行之前它不是挂起的吗?是的,伙计。gradle任务一直挂起,直到tomcat运行,所以这是预期的行为。这里无法解决任何问题。是否有任何方法可以在后台运行此任务并移动到下一个任务