2017-06-20 92 views
1

Jar文件类的shell脚本对象时,通过QTPJar文件类打通命令提示符但noClassDefFound执行时通过QTP

的shell脚本对象都跑通过命令提示符但noClassDefFound得到执行我写一个类来取来自websphere MQ的数据并将其保存为MQTools.Jar可运行。

我尝试创建一个shell脚本对象,并在线程中使用运行命令异常“主要” java.lang.NoClassDefFoundError:BEC/MQ /工具/ MQClass

Set objShell = CreateObject("Wscript.Shell") 

If instr(1,objShell.Environment.item("classpath"), strJavaFilePath, 1) > 0 Then 'javafilepath is path to the runnable Jar 
Else 
    objShell.Environment.item("classpath") = objShell.Environment.item("classpath") & ";"&strJavaFilePath 
End If 
objShell.Run("cmd /c set classpath="& objShell.Environment.item("classpath")) 

intReturn = objShell.Run ("cmd /c java bec.MQ.Tools.MQClass" & " "& strCommandLineArgs, 1, true) 'This line throws noclassdeffound error 

我使用相同的命令,复制并粘贴到一个命令窗口,它运行非常顺利,没有错误。任何人都可以请建议

回答

1

明白了...

这里的问题是,即使我加入QTP classpath中运行,直到重新启动QTP QTP不会获取类路径。对于一台新机器来说,这个问题将会发生,对于一台旧机器来说,即这个脚本已经运行之前的机器,类路径已经具有变量中所需的值,并且不会遇到这个问题。这个问题与我之前发布的问题类似,但尚未找到解决方案。 Refresh system variable using vbscript/QTP

问题描述是“如何体现在QTP系统ENV变量的变化而无需重新启动QTP”

解决方法:可能是一些怪胎,但未知的世界呢。

相关问题