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

时间:2019-07-04 07:16:45

标签: groovy jvm ready-api

我在SOAPUI项目中通过Groovy脚本使用ssh命令,并且效果很好,但是现在,我遇到了一个奇怪的问题。

我想执行一个shell,但是它不起作用,我得到以下回报:

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命令仍然返回相同的内容!当前的VM_HOME为” 在我的testCase中,前两个步骤也会启动.sh,并且它们按预期方式工作,只有这一步失败

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

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

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

/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>

这按预期工作。