| 

.NET C# Java Javascript Exception

4
Hi zusammen,
ich eine .bat die Java mit verschiedenen Parametern und verschiedenen .jar startet.
Die .bat funktioniert auch einwandfrei. Wenn ich aber diese .bat mit Process.Start() in c# ausführen lassen will funktioniert diese nicht.

Ich bekomme folgende Fehlermeldung:
'java' is not recognited as an internal or external command, operable program or batch file.

Hat jemand eine Ahnung woran das liegt ?
News:
14.10.2011
DaTaBeRt 416 1 7
1 Antwort
3
Könnte sein dass die Umgebungsvariablen bei Process.Start() nicht gesetzt werden und daher die java.exe nicht gefunden wird. Füge das doch noch in dein Batchfile ein.
Gruß
Daniel

Edit: Alternative, wenn die .exe im Pfad ist kann man es auch so machen:
Process blub = new Process();
blub.StartInfo.FileName = "java.exe";
blub.StartInfo.UseShellExecute = true;
blub.StartInfo.Arguments = "-jar x.jar y.jar ect.. pp.. ";
blub.Start();
14.10.2011
puls200 3,8k 7
Jop, wollte ich auch gerade schreiben... Irgendwie sowas wie "%JavaBin%\java" würde wohl helfen!
Eiger 14.10.2011
Danke, woher weis ich wie die umgebungsvariable lautet ?
DaTaBeRt 14.10.2011
wenn ich mich recht entsinne "JAVA_HOME"? Was spricht dagegen in deinem .bat File den vollständigen Pfad zu verwenden?
puls200 14.10.2011
jo, ich hab jetzt den vollständigen pfad genommen und damit funktioniert es jetzt auch :) ich find es halt ein wenig unschön eine batch-datei, mit process.Start() in c#, zum ausführen aufzurufen.
DaTaBeRt 14.10.2011
noch eine Ergänzung: Wenn java.exe in deinem Pfad ist ($Path) funktioniert es auch mit dem Flag UseShellExecute = true
puls200 14.10.2011

Stelle deine .net-Frage jetzt!
TOP TECHNOLOGIES CONSULTING GmbH