2016-01-05 48 views
0

我想編寫一個構建腳本在groovy,我想確保MAVEN_OPTS是基於構建腳本配置設置。編程設置MAVEN_OPTS從groovy腳本

我所擁有的是:

def process = ['export MAVEN_OPTS=\"-Xmx' + config.buildEnvironment.maxMemory + ' -XX:MaxPermSize=' + config.buildEnvironment.maxPermSize + '\"'].execute() 
process.in.eachLine { line ->    
    println(line)        
} 

config.buildEnvironment.maxMemory解析爲1024米config.buildEnvironment.maxPermSize解析爲512米

的輸出是這樣的:

Caught: java.io.IOException: Cannot run program "export MAVEN_OPTS="-Xmx1024m -XX:MaxPermSize=512m"": error=2, No such file or directory 
java.io.IOException: Cannot run program "export MAVEN_OPTS="-Xmx1024m -XX:MaxPermSize=512m"": error=2, No such file or directory 
    at MavenUtils.setMavenDefaultOpts(MavenUtils.groovy:23) 
    at MavenUtils$setMavenDefaultOpts.call(Unknown Source) 
    at build.run(build.groovy:19) 
Caused by: java.io.IOException: error=2, No such file or directory 
    ... 3 more 

我使用String.execute()功能通過我的腳本很多b uild maven項目,複製文件等,但這是我第一次遇到這種類型的錯誤。有任何想法嗎?

回答

0

原來這是不可能的。

我將這個邏輯封裝到一個shell腳本中,然後執行它,這就是我將解決這個問題的方法。

0

這可能是不可能的。然而,因爲export是shell內建,您應該運行:

['sh', '-c', 'export', 'LOL=LOL'].execute().in.eachLine { println it }