Gradle Exec任务未退出

Nilesh

我是Gradle的新手,并且正在使用一个小任务来启动/停止本地tomcat服务器。

我的gradle任务:

task startTomcat(type: Exec){
    workingDir ENV['CATALINA_HOME'] + '/bin'
    commandLine 'cmd', '/c', 'catalina.bat'
    args 'start'
}

当我运行此任务时,tomcat确实会启动。但是任务尚未完成,并且一直在等待。我已经浏览了Exec文档页面,但没有任何线索。

请帮忙。

Nilesh

感谢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] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

运行不会并行退出的Gradle任务

来自分类Dev

Gradle Exec任务和流程输出

来自分类Dev

使用doLast的Gradle exec任务失败

来自分类Dev

在gradle exec任务中使用bash glob

来自分类Dev

将参数传递给Gradle Exec任务

来自分类Dev

Gradle exec任务失败,并显示“ execCommand == null!”

来自分类Dev

Gradle:如何通过管道执行Exec任务

来自分类Dev

Gradle exec任务返回非零退出值,并且构建失败,但我希望不失败,而是执行另一个任务

来自分类Dev

获取“异常:Gradle任务assembleDebug失败,退出代码为1”

来自分类Dev

从Groovy调用gradle任务而没有Runtime.exec()

来自分类Dev

根据输出使Exec任务失败使Gradle构建停止/失败

来自分类Dev

单个Gradle Exec任务中的多个bash命令与多个Gradle Exec任务中的每个命令具有单个命令

来自分类Dev

PhantomJS进程未退出

来自分类Dev

SharePoint网站未退出

来自分类Dev

VBA For循环未退出

来自分类Dev

节点程序未退出

来自分类Dev

SharePoint网站未退出

来自分类Dev

Gradle中的验证任务

来自分类Dev

异步gradle复制任务?

来自分类Dev

gradle任务语法

来自分类Dev

Gradle任务层次

来自分类Dev

从条件运行gradle任务

来自分类Dev

领域gradle任务

来自分类Dev

Android Gradle测试任务

来自分类Dev

孤立的Gradle任务?

来自分类Dev

Gradle插件任务排序

来自分类Dev

Gradle任务创建

来自分类Dev

如何创建Gradle任务

来自分类Dev

配置Gradle分发任务