脚本无法检测到 java VM 可执行文件

script unable to detect java VM executable

我在 SOAPUI 项目中通过 groovy 脚本使用 ssh 命令,它工作得很好,但现在,我遇到了一个奇怪的问题。

我想执行 shell 但它不起作用,我在 return 中有以下内容:

1806424 This script was unable to detect the java VM executable. Please set the VM_HOME environment variable or add the 'java' to the executable PATH.  Current VM_HOME is  

所以我尝试将 VM_HOME 变量设置为指向 jvm.dll,将其添加到 PATH,然后我可以使用 groovy 脚本检查它是否被 SOAPUI 正确检测到:

def java_home = context.expand('${#Env#VM_HOME}');
log.info java_home

给我

Thu Jul 04 09:04:25 CEST 2019: INFO: C:\Program Files\Java\jdk-11.0.3

但是,我的 ssh 命令 return 还是一样的!?当前 VM_HOME 是 '' 在我的测试用例中,之前的两个步骤也启动了 .sh 并且它们按预期工作,只有这个失败了

如果我通过终端直接在我的服务器上启动脚本,它工作正常。

感谢您的帮助

好吧,终于有人可以帮助我(谢谢皮埃尔!),我找到了解决方案: 当我直接在服务器中回显路径时,我可以看到

/bin:/sbin:/usr/bin:/usr/sbin:/usr/bin/X11:/usr/local/bin:/usr/bin/ejre1.8.0_202/bin

当我通过 SOAP UI 和 ssh 命令回显路径时,我只能看到

/usr/bin:/bin:/usr/sbin:/sbin

(我不知道是否可以在 SOAP UI 设置中设置此路径?如果有人知道...) 无论如何,我不得不强制路径到想要的值,这可以使用以下命令完成:

export PATH=$PATH:/usr/bin/X11:/usr/local/bin:/usr/bin/ejre1.8.0_202/bin && <my_command>

这按预期工作。