我正在编写groovy脚本并尝试使用execute()方法执行以下shell命令
"mvn clean install -f \{pom directory}\pom.xml".execute()
但是出现以下消息时出现错误
“无法运行程序”mvn“:错误= 2,没有这样的文件或目录”
当然,已经安装了maven并且该命令在终端上运行良好....
我也试过“sc -c”前缀。
"sh -c mvn clean install -f \<pom directory\pom.xml".execute()
但这确实没有执行,也没有任何错误。似乎命令被忽略了。
那么我应该如何在groovy脚本中执行maven install?
答案 0 :(得分:0)
由于 mvn
不是可执行二进制文件而是 shell 脚本,因此不能直接
执行。
这也与您执行 sh -c ...
的第二种情况有关。我怀疑环境没有正确配置。在这种情况下,输出将写入 stderr,这就是您看不到输出的原因。有关如何捕获 stderr 的信息,请参阅 here。
我在 Jenkins 执行的一个 groovy 脚本中遇到了这个问题。例如,在这种情况下,您可以使用 sh 'mvn --version'
并且一切正常。 sh
来自 Jenkins DSL。