我有一台运行 Jenkins master 的 unix 机器,我还配置了一个 windows slave。这很好用。但是当我使用 groovy 插件(在选项系统 groovy 脚本中)运行 groovy 脚本并使用 java.lang.ProcessBuilder 运行 maven 命令时,我得到了这个:
Caused by: java.io.IOException: java.io.IOException: error=2,
No such file or directory
at java.lang.UNIXProcess.<init>(UNIXProcess.java:148)
at java.lang.ProcessImpl.start(ProcessImpl.java:65)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:453)
... 122 more
Build step 'Groovy Postbuild' marked build as failure
Finished: FAILURE
异常说的目录不存在,实际上存在。
所以我的问题是当master在unix slave上运行时,如何在windows slave上使用groovy脚本启动maven命令?
我发现它是推测性的,为什么java.lang.UNIXProcess
当我在 Windows 上运行 groovy 脚本时会出现异常(脚本文件本身与 Windows 从属位于同一台机器上,我也从中检查System.getEnv()
是否JAVA_HOME
正确)