2014-12-10 26 views
0

我试图从gradle中踢出一个exe(mongodb),但需要该exe文件在gradle作用域之外运行,以便gradle任务永远不会被阻塞。在gradle scope之外运行exe

task startMongo(type: Exec) { 
    executable "$buildDir/mongo/mongod.exe" 
    args "--dbpath=$buildDir/mongo/data/db" 
} 

Mongodb开头很好,但是当mongo服务器等待连接时任务被阻塞。

2014-12-10T14:30:33.018-0700 [initandlisten] waiting for connections on port 27017 
+2

查看https://stackoverflow.com/questions/25295945/run-a-background-job-from-gradle – Robert 2014-12-10 21:37:55

回答

0

罗伯特 - 谢谢。我写了一个自定义的gradle任务,并在后台启动了exe。

class MyTask extends DefaultTask { 
    @TaskAction 
    void startProcess() {  
     ProcessBuilder processBuilder = new ProcessBuilder() 
     processBuilder.command('exe-path', 'arg') 
     processBuilder.start() 
    }