gpt4 book ai didi

gradle - 从Gradle运行Play服务

转载 作者:行者123 更新时间:2023-12-03 06:08:26 24 4
gpt4 key购买 nike

我试图使用Gradle任务来运行Play服务,但是我发现Gradle任务将挂起(大概正在等待Play引导脚本的返回值)。

我在Play方面所做的只是:

sbt dist

生成一个.zip发行版(例如“myproject.zip”),然后将其扩展到要从中运行此服务的位置。

在Gradle方面,我想我会做这样的事情:
task start(type: Exec) {
workingDir "myproject/bin"
commandLine './myproject'
}

这确实确实可以正常启动Play服务,但是Gradle任务将无限期挂起(直到您执行Control + C为止)。

我想到的最明显的东西是:
task start(type: Exec) {
workingDir "myproject/bin"
commandLine 'nohup ./myproject &'
}

但这以死胡同结束:
Execution failed for task ':start'.
> A problem occurred starting process 'command 'nohup ./playservicetemplate &''

看来这是一个非常常见的用例,所以我想知道是否有一个我忽略的明显解决方案。

最佳答案

也许有更多的Gradle-ish方法可以做到这一点,但是我通过利用ProcessBuilder解决了它。我的新任务如下:

task start {
ProcessBuilder builder = new ProcessBuilder("./myproject")
builder.directory(new File("myproject/bin"))
builder.start()
}

显然,您可以对此进行很多研究(“java processbuilder”的快速Google会在示例页面上为您提供页面),但这将达到我的目的。

关于gradle - 从Gradle运行Play服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36774751/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com