Laden...

ProcessStartInfo, javac und java

Erstellt von TheBrainiac vor 16 Jahren Letzter Beitrag vor 16 Jahren 1.534 Views
TheBrainiac Themenstarter:in
795 Beiträge seit 2006
vor 16 Jahren
ProcessStartInfo, javac und java

Hi @ All!

Habe folgenden Code, der soll mir die Java-Datei ausführen, dieich in dem String[] habe. Das kompilieren mittels javac klappt imho problemlos (die class-Datei wird erstellt), nur das Starten der Datei tut nicht.


String[] test = new String[] 
{ 
    "public class test", 
    "{", 
    "  public static void main(String[] args)",
    "  {",
    "    System.out.println(\"Hallo\");",
    "  }",
    "}"
};

File.WriteAllLines("C:\\Temp\\test.java", test);

ProcessStartInfo psi = new ProcessStartInfo("C:\\Programme\\Java\\AppServer\\jdk\\bin\\javac.exe", "C:\\Temp\\test.java -O -deprecation -g");
psi.CreateNoWindow = true;
Process p = Process.Start(psi);
            
psi = new ProcessStartInfo("java", "test");
psi.WorkingDirectory = "C:\\Temp\\";
Process.Start(psi);

Hat jemand hier einen Plan, warum?

Bin für jede Hilfe dankbar.

Gruß, Christian.

`There are 10 types of people in the world: Those, who think they understand the binary system Those who don't even have heard about it And those who understand "Every base is base 10"`
49.485 Beiträge seit 2005
vor 16 Jahren

Hallo Schamese,

kann sein, dass du auch bei "java.exe" den vollen Pfad angeben musst.

herbivore

TheBrainiac Themenstarter:in
795 Beiträge seit 2006
vor 16 Jahren

Habe jetzt Folgendes, doch das tut auch nicht.


psi = new ProcessStartInfo("C:\\Programme\\Java\\AppServer\\jdk\\bin\\java", "test");
psi.WorkingDirectory = "C:\\Temp\\";
Process.Start(psi);

`There are 10 types of people in the world: Those, who think they understand the binary system Those who don't even have heard about it And those who understand "Every base is base 10"`
F
10 Beiträge seit 2007
vor 16 Jahren

Lassen sich .class-Dateien ausführen?
Müssen die nicht erst noch in ein .jar-archiv gepackt werden?

L
49 Beiträge seit 2004
vor 16 Jahren

Dumme Frage...Woher weisst Du denn dass es nicht funktioniert hat? Gibts eine Exception?

Schreib doch mal in eine Textdatei.

TheBrainiac Themenstarter:in
795 Beiträge seit 2006
vor 16 Jahren

Ich habe das ganze nach dieser Anleitung gemacht und es funzt.

Also habe ich mir gedacht, um eine Javadatei per Konsole zu kompilieren und auszuführen muss man sie erst mit javac kompilieren und dann kann man sie mit java ausführen.

Und das habe ich dann versucht, in einer Windows-Anwendeung umzusetzen.

Gruß, Christian.

`There are 10 types of people in the world: Those, who think they understand the binary system Those who don't even have heard about it And those who understand "Every base is base 10"`
L
49 Beiträge seit 2004
vor 16 Jahren

Das stimmt ja auch...nur wird kein Command-Window angezeigt und somit ist dein System.out.println wahrscheinlich nutzlos.

49.485 Beiträge seit 2005
vor 16 Jahren

Hallo Schamese,

"cmd", "/k java test"

herbivore

TheBrainiac Themenstarter:in
795 Beiträge seit 2006
vor 16 Jahren

thx, herbivore. so funktionierts.

Aber wie kann ich es anstellen, dass sich die Console automatisch nach Ablauf des JavaCodes beendet?

Muss ich mir dazu ne batch basteln?

`There are 10 types of people in the world: Those, who think they understand the binary system Those who don't even have heard about it And those who understand "Every base is base 10"`
49.485 Beiträge seit 2005
vor 16 Jahren

Hallo Schamese,

"cmd", "/c java test"

Aber dann siehst du ja wieder nichts. 🙂

herbivore

TheBrainiac Themenstarter:in
795 Beiträge seit 2006
vor 16 Jahren

doof.

Aber danke trotzdem 🙂

`There are 10 types of people in the world: Those, who think they understand the binary system Those who don't even have heard about it And those who understand "Every base is base 10"`