Java Programm mit exec starten

Dimax

Dimax

Bekanntes Mitglied
Guten Tag ,

Ich brauche Hilfe beim Starten eines java Programm aus einem anderen java Programm.

Das Test-Programm Abra.java ist compiliert und liegt auf dem Desktop zusammen mit Abra.class

Java:
import javax.swing.JFrame;

public class Abra{

public static void main(String args[]){
JFrame meinFrame = new JFrame("Beispiel JFrame");
meinFrame.setSize(200,200);
meinFrame.setVisible(true);

if(Integer.valueOf(args[0])==1){
System.out.println("blalblaln");

}
}
}

Das StringSplit.java liegt in einem war File und soll Abra.java starten
Java:
public class StringSplit {

    public static void main(String[] args) {
        try {
            System.out.println("Creating Process...");
            Process p=Runtime.getRuntime().exec("java C:\\Users\\Desktop\\Abra 1");
            System.out.println("Executed Process...");
            InputStream error=p.getErrorStream();
            for(int i=0;i<error.available();i++) {
                System.out.println("->"+error.read());
                System.out.println("->"+error.toString());
                
            }
p.destroy();
    }catch(Exception ex) {
        System.out.println("Creating Error...");
        ex.printStackTrace();
    }
}
}
Beim ausführen des StringSplit im Eclipse wird :
Creating Process...
Executed Process...
ausgegeben aber mehr nicht.
Die Frage : Wie kann mann das Programm Abra in anderem java Programm richtig Starten und falls Problemmen gibt ,Fehler auslesen.
Danke im Voraus.
 
Dimax

Dimax

Bekanntes Mitglied
Ich habe StringSplit.java modifiziert
Java:
public class StringSplit {

    public static void main(String[] args) {
        String sep="\\";
        try {
            System.out.println("Creating Process...");
            Process p=Runtime.getRuntime().exec("java C:"+sep+"Users"+sep+""Desktop"+sep+"Abra 1");
            System.out.println("Executed Process...");
            InputStream error=p.getErrorStream();
            InputStreamReader isr=new InputStreamReader(p.getErrorStream(),Charset.forName("UTF-8"));
            StringBuilder sb=new StringBuilder();
            char[] buffer=new char[1024];
            int length=0;
            while((length=isr.read(buffer,0,buffer.length))>=0) {
                sb.append(buffer,0,length);
            }
            System.out.println(sb.toString());
            isr.close();
            for(int i=0;i<error.available();i++) {
                System.out.println("->"+error.read());
                System.out.println("->"+error.toString());
                
            }
p.destroy();
    }catch(Exception ex) {
        System.out.println("Creating Error...");
        ex.printStackTrace();
    }
}
}
und bekomme folgende Ausgabe
Code:
Executed Process...
Fehler: Hauptklasse C:\Users\Desktop\Abra konnte nicht gefunden oder geladen werden

Creating Error...
java.io.IOException: Stream Closed
    at java.io.FileInputStream.available0(Native Method)
    at java.io.FileInputStream.available(FileInputStream.java:306)
    at methoden.StringSplit.main(StringSplit.java:29)
 
mihe7

mihe7

Top Contributor
Du darfst nicht java C:\Users\Desktop\Abra 1 aufrufen, die Befehlszeile muss lauten java -cp C:\Users\Desktop Abra 1, wobei Du statt Backslashes auch normale Schrägstriche verwenden können solltest.
 
Dimax

Dimax

Bekanntes Mitglied
Danke mihe7 für schnelle Antwort
Nach dem ich folgende Zeilen geändert habe

String sep="/";
Process p=Runtime.getRuntime().exec("java -cp C:"+sep+"Users"+sep+"Desktop"+sep+"Abra 1");

bekomme ich
Fehler: Hauptklasse 1 konnte nicht gefunden oder geladen werden
Wie kann ich Abra mit verschiedenen Parametern starten?
 
Dimax

Dimax

Bekanntes Mitglied
Ok..alles erledigt.
Richtige Zeile sollte so aussehen
Process p=Runtime.getRuntime().exec("java -cp C:/Users/Desktop Abra 1");
Abra und Parameter 1 sollten vom Pfad getrennt geschrieben werden .
Danke mihe7.
 
kneitzel

kneitzel

Top Contributor
Nur zur Erläuterung, damit Du das alles auch verstehst:

Java erwartet die Angabe der Klasse (mit dem vollen Namen, also incl. Package). Da Deine Klasse im unbenannten Paket ist, ist das einfach "Abra".

Damit Java aber auch die Klasse findet, muss man sagen, wo diese zu finden sind. Daher der Parameter "-cp" mit dem Ort, wo die class Datei zu finden ist. (Das gilt so nur, weil die Klasse im unbenannten Paket ist. Ansonsten wäre es nicht der Ort, wo die class Datei liegt sondern das Wurzelverzeichnis, ab dem man die Klasse finden kann. Eine Klasse my.package.MyClass hat eine MyClass.class Datei in einem Ordner my\package\ und das Wurzelverzeichnis wäre dann das Verzeichnis, in dem das Verzeichnis "my" liegen würde.)

Nach dem Klassennamen kommen dann die Parameter, die übergeben werden sollen. Bei Deinem Beispiel wird die 1 übergeben.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
F Java Programm, das kleine Buchstaben in einem String zählen soll und bei großen Buchstaben oder Sonderzeichen abbrechen soll. Java Basics - Anfänger-Themen 5
C Was ist nötig für ein Java-Programm auf Server für Website Java Basics - Anfänger-Themen 18
justemii Gehalt berechnen - Aufgabe Java-Programm Java Basics - Anfänger-Themen 9
N Best Practice How can I creat a programm with java under windows 10 in order to open an spreadsheet in libreoffice calc format Java Basics - Anfänger-Themen 11
P Wie für EIN Java Programm von 64bit Java (=Standard) auf 32bit Java Installation (Windows) umschalten? Java Basics - Anfänger-Themen 6
X Kurzes Java-Programm, das sich komisch verhält Java Basics - Anfänger-Themen 6
G Java-Programm Terminal Java Basics - Anfänger-Themen 2
I Java Programm sieht wie exe aus. Java Basics - Anfänger-Themen 3
G Java-Programm weitergeben Java Basics - Anfänger-Themen 14
A Java-Programm läuft bei installierter JDK aber nicht mit JRE? Java Basics - Anfänger-Themen 5
W Java Programm mit API Anbindung Java Basics - Anfänger-Themen 2
D Java Programm mit JavaScript einbinden Java Basics - Anfänger-Themen 8
X Java Programm MacOS Java Basics - Anfänger-Themen 1
F Java Programm schließen Java Basics - Anfänger-Themen 1
M Java Methode editierbar machen im Programm Java Basics - Anfänger-Themen 62
B Mit Java anderes Java Programm starten Java Basics - Anfänger-Themen 3
J Java Programm Java Basics - Anfänger-Themen 29
B Java Eclipse Programm in einer Batch ausführen Java Basics - Anfänger-Themen 3
L Java Programm zum Auswerten von Daten Java Basics - Anfänger-Themen 11
S Bestehendes Java Programm, einen festen Wert ändern Java Basics - Anfänger-Themen 17
L Java Zip-Programm Java Basics - Anfänger-Themen 16
C Input/Output Textdatei vom Java-Programm nicht geladen Java Basics - Anfänger-Themen 58
M Java Programm über Batch-Datei ausführen Java Basics - Anfänger-Themen 1
B Brauch Hilfe für Java Programm Java Basics - Anfänger-Themen 12
T CMD über Java-Programm aufrufen Java Basics - Anfänger-Themen 2
L Java-Programm kompilieren Java Basics - Anfänger-Themen 24
D Java BlueJ Programm wiederholen? Java Basics - Anfänger-Themen 6
M Java Programm: Lottozahlen Java Basics - Anfänger-Themen 4
I Java Programm Java Basics - Anfänger-Themen 12
F Java Programm öffnen Java Basics - Anfänger-Themen 3
A Erste Schritte Programm in Shell mit bestimmter Java-Version aufrufen Java Basics - Anfänger-Themen 10
J Pdf-Dokument im Java-Programm öffnen Java Basics - Anfänger-Themen 3
M Chat Programm in Java Java Basics - Anfänger-Themen 1
M Wie sicher sind Daten im Java Programm? Java Basics - Anfänger-Themen 9
M Mein erstes Java Programm Java Basics - Anfänger-Themen 5
L Herunterladbares Java Programm in bestimmten Ordner speicher Java Basics - Anfänger-Themen 3
L Konsole öffnen und Java Programm darin ausführen Java Basics - Anfänger-Themen 4
C Programm JAR startet nicht - Could not create the Java Virtual Machine Java Basics - Anfänger-Themen 4
T CMD mit Java Programm öffnen? Java Basics - Anfänger-Themen 5
B Java Programm ohne statische Main Methode aufrufen Java Basics - Anfänger-Themen 5
G Input/Output CSV-Datei über Java-Programm erstellen, Zeichensalat Java Basics - Anfänger-Themen 3
F Java-Programm gibt in Eingabeaufforderung nichts aus Java Basics - Anfänger-Themen 4
M Erste Schritte Java programm unable to access Java Basics - Anfänger-Themen 10
? Klassen einfacher Fehler in einem Java Programm. Java Basics - Anfänger-Themen 5
? Methoden Fehler in einfachem Java Programm. Java Basics - Anfänger-Themen 9
T Selbst erstellten Dateityp mit java Programm assoziieren? Java Basics - Anfänger-Themen 4
S Programm wie Java? Java Basics - Anfänger-Themen 10
M C++ programm (kompiliertes) aus java aufrufen Java Basics - Anfänger-Themen 7
A Eclipse - Java-Programm exportieren für Ubuntu TLS 10 Java Basics - Anfänger-Themen 9
F Java-Programm aus CMD ausführen mit Parametern Java Basics - Anfänger-Themen 7
N Java Programm zum Suchen und Ersetzen von Text Dateien Java Basics - Anfänger-Themen 10
P Probleme Java Programm Java Basics - Anfänger-Themen 6
M Lauffähiges Java Programm erstellen Java Basics - Anfänger-Themen 4
J C++ Bitmanipulations-Programm in Java umwandeln Java Basics - Anfänger-Themen 10
N Java Programm im CMD Fenster öffnen, wie? Java Basics - Anfänger-Themen 17
S Externes Java Programm starten Java Basics - Anfänger-Themen 9
D Java Programm auf Kommandozeile durchführen Java Basics - Anfänger-Themen 12
H Ich kann mein Java Programm Test.class nicht ausführen Java Basics - Anfänger-Themen 6
M Kann Java Programm nicht starten Java Basics - Anfänger-Themen 7
V Java Chat Programm Problem mit IP Addresse Java Basics - Anfänger-Themen 7
S Hilfe zu Java-Programm und JUnit Test!! Java Basics - Anfänger-Themen 5
B Mit Java-Programm Daten aus MySQL-Datenbank auslesen, lokal und nicht lokal. Java Basics - Anfänger-Themen 10
P Java Programm in Powerpoint Java Basics - Anfänger-Themen 5
Y Java Programm URL und String Vergleich! Java Basics - Anfänger-Themen 4
U Java-Programm auf einem Server starten Java Basics - Anfänger-Themen 33
M Kann mein Java Programm nicht starten Java Basics - Anfänger-Themen 6
G Kleine Java Programme aus Main Java Programm starten..... Java Basics - Anfänger-Themen 3
P Java Programm von außen aufrufen Java Basics - Anfänger-Themen 8
D Java programm durch vorgegebene bat ausführen Java Basics - Anfänger-Themen 3
Crashbreaker Eigene Java-Programm ohne hilfe des CMD starten Java Basics - Anfänger-Themen 11
S Interpreter-Fehler Java - Programm ausführen! Java Basics - Anfänger-Themen 12
B Grafische Oberfläche für Java-Programm Java Basics - Anfänger-Themen 5
T Mac OSX - Programm aus Java öffnen Java Basics - Anfänger-Themen 3
H Wie kann ich offline ein Java Programm abspeichern Java Basics - Anfänger-Themen 14
U Visual-Basic Programm mit Java steuern Java Basics - Anfänger-Themen 8
K In MySQL Select Variablen aus Java Programm benutzen Java Basics - Anfänger-Themen 8
J Java-Programm starten Java Basics - Anfänger-Themen 6
C java programm mit Texten, speichern und so Java Basics - Anfänger-Themen 3
W Java-Programm als Icon mit Doppelklick einfach öffnen ? Java Basics - Anfänger-Themen 3
B Java-Programm-Dienst sauber beenden Java Basics - Anfänger-Themen 6
P Java Programm geschrieben ... und nun? Java Basics - Anfänger-Themen 11
W Java Programm abändern Java Basics - Anfänger-Themen 6
K Programm zum Kompilieren von java-Dateien Java Basics - Anfänger-Themen 17
M Java-Programm wird beendet, wenn ich Spiel öffne... Java Basics - Anfänger-Themen 11
J Wie java programm noch schneller machen? Java Basics - Anfänger-Themen 30
T Zugangsdaten für Datenbank in Java-Programm speichern? Java Basics - Anfänger-Themen 5
H java programm per batch datei öffnen Java Basics - Anfänger-Themen 4
R Java als externes Programm speichern Java Basics - Anfänger-Themen 3
I Java Programm unter Linux ausführen Java Basics - Anfänger-Themen 2
L Java-Programm neustarten lassen Java Basics - Anfänger-Themen 14
N Normales Java Programm in Applet umwandeln Java Basics - Anfänger-Themen 17
S Hausaufgabe: Java-Programm schreiben zur Berechnung von x und y Java Basics - Anfänger-Themen 9
C Java programm mit Datenbank für Anfänger Java Basics - Anfänger-Themen 21
E Java als eigenständiges Programm Java Basics - Anfänger-Themen 2
StrikeTom Java programm ausführen Java Basics - Anfänger-Themen 35
N Java programm in website einfügen Java Basics - Anfänger-Themen 2
L Datei aus Java in anderem Programm öffnen Java Basics - Anfänger-Themen 23
J Webserver für Java Programm Java Basics - Anfänger-Themen 6
-horn- Anderes Programm (C,C++, etc) prüfen lassen, ob JAVA installiert ist und wo? Java Basics - Anfänger-Themen 5
G Internet-Javascript-Funktion per Java-Programm aufrufen Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Anzeige

Neue Themen


Oben