2014-12-10 58 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() 
    }