我正在尝试在groovy中编写构建脚本,并且我希望确保根据构建脚本配置设置MAVEN_OPTS。
我拥有的是:
def process = ['export MAVEN_OPTS=\"-Xmx' + config.buildEnvironment.maxMemory + ' -XX:MaxPermSize=' + config.buildEnvironment.maxPermSize + '\"'].execute()
process.in.eachLine { line ->
println(line)
}
config.buildEnvironment.maxMemory
解析为 1024m ,config.buildEnvironment.maxPermSize
解析为 512m
这个输出是:
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()功能来构建maven项目,复制文件等,但这是我第一次遇到这种类型的错误。有什么想法吗?
答案 0 :(得分:0)
原来这是不可能的。
我将这个逻辑封装到一个shell脚本中并执行它,这就是我将如何解决这个问题。
答案 1 :(得分:0)
可能不可能。但是,因为export
是shell内置的,你应该运行:
['sh', '-c', 'export', 'LOL=LOL'].execute().in.eachLine { println it }