我有一个用于考试的groovyscript
"mvn install".execute()
虽然这在linux上运行良好,但在windows上会失败。在Windows上,你必须写:
"cmd /C mvn install".execute()
这有点令人讨厌。我只想使用if OS == windows then
来避免混乱我的代码。我很确定有人已经解决了这个问题并为此提供了一些库。我找不到任何东西......
答案 0 :(得分:1)
由于String.execute()
委托给操作系统,因此它不应该是可移植的,但您可以创建自己的便携式等效设备。
String.metaClass.pexecute = {
if(/* Windows OS check goes here*/) {
"cmd /C $delegate".execute()
} else {
delegate.execute()
}
}
在脚本的早期放置此代码,您可以这样调用String.pexecute()
:"mvn install".pexecute()