2017-06-20 1 views
1

Jar-Datei Klasse durchläuft Eingabeaufforderung ausgeführt zu werden, aber NoClassDefFound wenn durch Shell-Skript Objekt von QTP liefJar-Datei Klasse immer durch Eingabeaufforderung aber NoClassDefFound ausgeführt wird, wenn durch Shell-Skript-Objekt von QTP

Ich habe eine Klasse geschrieben zu holen Daten aus Websphere MQ und gespeichert als MQTools.Jar runnable.

ich versuche, ein Shell-Scripting-Objekt zu erstellen und Ausführen-Befehl Exception in thread "main" java.lang.NoClassDefFoundError verwenden: bec/MQ/Tools/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 

ich den gleichen Befehl verwenden, zu kopieren und in ein Befehlsfenster einfügen, es läuft sehr reibungslos ohne Fehler. Kann jemand empfehlen, bitte

Antwort

1

Verstanden ...

Das hier Thema ist, auch wenn ich die Classpath Laufzeit in QTP hinzufügen, QTP die Classpath nicht holen, bis Sie QTP neu starten. Bei einer neuen Maschine tritt dieses Problem auf, bei einer alten Maschine, d. H. Einer Maschine, auf der dieses Skript bereits zuvor ausgeführt wird, würde der Klassenpfad bereits den erforderlichen Wert in der Variablen haben und würde dieses Problem nicht erfahren. Dieses Problem ist ähnlich dem, das ich zuvor gepostet habe, aber um eine Lösung zu finden. Refresh system variable using vbscript/QTP

Die Problemstellung ist: ‚Wie Änderungen in dem System env Variablen in QTP reflektieren, ohne QTP neu starten zu müssen‘

Lösung: mit einigen Aussenseiter sein könnte aber noch unbekannt in der Welt.

Verwandte Themen