Jar aus Java heraus starten.

I

invalid

Gast
Hallo.
Ich wollte eine Jar aus Java herraus starten. Für einen launcher. Das ganze wollte ich nicht mit JarClassLoader da sowohl der Launcher die 'Haupt-jar' updaten soll, wie auch die 'Haupt-jar' den Launcher. Das ist der Grund, warum beides in einem neuen Prozess ausgeführt werden soll.

Machen wollte ich das ganze eigentlich mit:
Java:
Runtime.getRuntime().exec(new String[]{"java","-jar","C:\Users\xxxx\AppData\Roaming\xxxx\JAR.jar",""});
(oder besser gesagt: System.getProperty("user.home")+"\\...\\JAR.jar")

Leider funktioniert das nicht. Es tut sich Garnichts. Keine Fehlermeldung keine abstürzte.

Ich wäre froh, wenn mir jemand helfen könnte.

Viele Grüße
invalid
 

turtle

Top Contributor
Runtime.getRuntime().exec gibt dir einen Process zurück. Von diesem Objekt kannst du dir über getErrorStream() und getOutputStream() zwei Streams holen und mal ausgeben, was da ausgegeben wurde.

Ich wette, dass in einem Stream eine Ausgabe gemacht wurde, die dir einen Hinweis gibt, was falsch gelaufen ist.

Meiine Vermutung ist, dass du keine cmd ausführst und mitteilst welches Kommando ausgeführt werden soll. (cmd /k "java...l")
 
I

invalid

Gast
Vielen dank erstmal für deine Hilfe.

Inzwischen benutze ich:
Code:
Process p = new ProcessBuilder("cmd", "/k", jarPath+"/"+jarName).start();
Da ich gelesen habe, das es besser ist bei solch einem Vorhaben einen ProcessBuilder zu benutzen.

Leider bekomme ich immer noch keine outputs. (ich lese den Error und den OutputStream aus.

invalid
 
I

invalid

Gast
(Entschuldigung, ich kann leider nicht editieren)

Ich habe das ganze gerade etwas minimalistisch nachgebaut.
Und, tata es funktioniert. (
Code:
new ProcessBuilder("cmd", "/k", "C:/test.jar").start();
).
Die Jar, welche ich eigentlich starten möchte funktioniert hingegen nicht.
Kann es daran liegen, das mein eigentliches Programm auf externe libs (lwjgl + nativs) zugreift? (Per Doppelklick kann ich sie starten)

invalid
 

turtle

Top Contributor
Leider bekomme ich immer noch keine outputs. (ich lese den Error und den OutputStream aus.
Das kann ich nicht glauben.

Meine Testausgabe (für ErrorStream) sieht immer so aus und da wird definitiv was ausgegeben:
Java:
		Process p = new ProcessBuilder("cmd", "/k", jarPath+"/"+jarName).start();
		BufferedReader reader = new BufferedReader(new InputStreamReader(p.getErrorStream()));
		String line = "";
		while ((line=reader.readLine()) != null) {
			System.out.println(line);
			
		}
bei mir zum Test zum Beispiel, wobei ich folgende Prozess starten wollte
Code:
Process p = new ProcessBuilder("cmd", "/k", "java -jar test.jar").start();

Error: Unable to access jarfile test.jar
 
I

invalid

Gast
Ich habe noch etwas weiter rumprobiert.
Es kommt tatsächlich keine Fehlermeldung.
Das mag aber auch daher rühren das 'alles' klappt.
Zum Test habe ich jetzt am Anfang einen Dialog auf popen lassen, wenn die jar gestartet wird.
Dieser wird angezeigt. Das OpenGl Fenster (lwjgl), welches danach öffnen sollte, erscheint jedoch nicht.

invalid
 

turtle

Top Contributor
einen Dialog auf popen lassen

Der Dialog kommt aus deinem Programm, ja?

Wenn ja, startet das Programm wirklich problemlos.;)

Wie wird der Classpath denn gesetzt, der für die Libraries notwendig ist? Wenn du sagt, starten per Doppelklick geht, vermute ich das im Manifest alle Libs drin stehen, oder?
 
I

invalid

Gast
Wie wird der Classpath denn gesetzt, der für die Libraries notwendig ist? Wenn du sagt, starten per Doppelklick geht, vermute ich das im Manifest alle Libs drin stehen, oder?

Manifest-Version: 1.0
Class-Path: . lwjgl.jar slick.jar
Main-Class: cjg.projects.CFO.ZBuffererTest

Und das wirklich lustige ist warscheinlich, das alles korrekt funktioniert, wenn man den launcher neben die eigentliche jar legt. (
PG3EB
).

invalid.

Ich bin am verzweifeln. ;).
Ich wenn momentarn keinem einfallen könnte wodran das liegt, mache ich mal ein kleines Beispiel fertig.
 

turtle

Top Contributor
Na, das ist ein stinknormales Manifest.

Braucht dein Programm alle diese dll's? Ich vermute mal ja, denn wenn Starten aus dem Verzeichnis klappt.

Ich würde versuchen das Programm von der Kommandozeile aus einem anderen Verzeichnis zu starten. Damit Java dann andere DLL's finden kann, gib mal den Java Library Path an.
Code:
java -Djava.library.path=<Path zu dll's> ...
 
I

invalid

Gast
Ich versuche das ganze jetzt so zustarten:
Code:
Process p = Runtime.getRuntime().exec(new String[]{"java","-jar",jarPath+"/"+jarName,"Djava.library.path="+libPath});
bzw mit dem [JAPI]ProcessBuilder[/JAPI]. Leider bekomme ich immer noch das selbe Ergebnis.
(Meintest du das überhaupt so?)

Und zu den ganzen natives.
Eigentlich brauche ich die nicht alle. Das sind die natives für Windows, Linux...

invalid
 

turtle

Top Contributor
Das ist aber nicht Programm von der Kommandozeile gestartet ;)

Der Aufruf müsste meiner Meinung nach so aussehen.
Code:
java -Djava.library.path=xxx -jar jarName.jar
NACHDEM das läuft, kannst Du ja das via ProcesssBuilder umbauen.
 
I

invalid

Gast
Es funktioniert!

Was war der Fehler:
Nach längerem Probieren habe ich raus bekommen,
das das Launchen auf meinchen Pc's funktioniert, auf andern nicht.
Also habe ich mich den üblichen Tatverdächtigen zugewand (umlauten) aber das schin nichts damit zutuen zuhaben. hm, cmd und leerzeichen? Tatsächlich. Wenn ich das ganze über die Konsole aus einem Ferzeichnis starten wollte hatte ich eine Fehlermeldung. Der Pfad brach nach Leerzeichen ab. (Wenn ich das ganze vom Launcher startete bekarm ich keine meldung! Ich denke nicht das ich zublöd bin einen Stream auszulesen ;)),

Aufjeden fall klappt das ganze nunmit:
Code:
Runtime.getRuntime().exec("java -Djava.library.path=\""+libPath+"\"/ -jar \""+jarPath+"/"+jarName+"\"");

Ich bin geneigt mich anzumelden nur um dir ein Danke zugeben, für die Zeit welche du letztendlich für mich verschwendet hast.

Java:
JavaForum.getUser(29796).give(new Thanks("Invalid"));

invalid
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J JavaFX aus Java-Application heraus starten Java Basics - Anfänger-Themen 7
J Java Applikation aus Applet heraus starten Java Basics - Anfänger-Themen 4
D exe AUS Java heraus starten Java Basics - Anfänger-Themen 4
D wie kann ich gcc aus einer .java datei heraus aufrufen? Java Basics - Anfänger-Themen 2
G Java Applet aus Eclipse heraus testen? Java Basics - Anfänger-Themen 6
E Word aus Java heraus öffnen und in den Vordergrund holen Java Basics - Anfänger-Themen 2
G Umgebungsvariable aus Java Programm heraus setzen Java Basics - Anfänger-Themen 4
G Webseite aus Java heraus laden Java Basics - Anfänger-Themen 3
R Dateien aus Java heraus öffnen Java Basics - Anfänger-Themen 9
F Problem mit auführen einer .bat Datei aus Java heraus Java Basics - Anfänger-Themen 24
G Aufruf einer .bat-Datei aus Java heraus Java Basics - Anfänger-Themen 6
G Andere Anwendung aus Java heraus steuern Java Basics - Anfänger-Themen 3
J Probleme mit drucken aus Java Java Basics - Anfänger-Themen 3
Gokul Java chart library suggestion for web application? Java Basics - Anfänger-Themen 2
S Text Formatierung in Java Java Basics - Anfänger-Themen 2
B Erste Schritte yaml parsen in Java Java Basics - Anfänger-Themen 19
C Methoden Umlaute in Java Java Basics - Anfänger-Themen 18
W Java-PRogramm liest als EXE-File Nicht USB, jedoch aus NetBeans Java Basics - Anfänger-Themen 45
W Methoden java map ersatz für c++map Java Basics - Anfänger-Themen 3
M Erste Schritte Java Primzahltester Java Basics - Anfänger-Themen 4
A csv Reader für Java? Java Basics - Anfänger-Themen 27
K Java - Enums Java Basics - Anfänger-Themen 30
tomzen Java Unterstützung für exel dateien installieren. Java Basics - Anfänger-Themen 2
Rookar java.lang.NoClassDefFoundError: org/json/JSONException Java Basics - Anfänger-Themen 2
Rookar Mit Button andere java öffnen Java Basics - Anfänger-Themen 4
F Java Object to Hashmap ? Java Basics - Anfänger-Themen 6
I Backend in Java und Ansicht von Dateien in statische HTML Seiten? Java Basics - Anfänger-Themen 15
R Input/Output Verwendung des Euro-Zeichens in Java Java Basics - Anfänger-Themen 7
I Push Nachrichten von JAVA EE App an Mobile App Java Basics - Anfänger-Themen 3
H .java Dateien in Eclipse einbinden und ausführen Java Basics - Anfänger-Themen 1
onlyxlia Schlüsselworte Was meint man mit "einen Typ" in Java erstellen? Java Basics - Anfänger-Themen 2
O Java Kara geschweifte Klammern Java Basics - Anfänger-Themen 2
G Mausrad logitech kann links und rechts klick wie in java abragen. Java Basics - Anfänger-Themen 15
XWing Java Klssenproblem Java Basics - Anfänger-Themen 4
R Umgebungsvariable java -cp gibt immer Java-Hilfe... Java Basics - Anfänger-Themen 3
farbenlos Csv Datei in Java einlesen Java Basics - Anfänger-Themen 18
F TableModelListener: java.lang.ArrayIndexOutOfBoundsException: 132 Java Basics - Anfänger-Themen 3
G Java 8 - Support-Ende Java Basics - Anfänger-Themen 7
T Java Weihnachtsbaum + Rahmen Java Basics - Anfänger-Themen 1
N Will mit Java anfangen Java Basics - Anfänger-Themen 13
Ü Java Array - Buchstaben als Zahlen ausgeben Java Basics - Anfänger-Themen 22
M Java Iterator Verständnisfrage Java Basics - Anfänger-Themen 6
M Java Mail Programm Java Basics - Anfänger-Themen 4
Sniper1000 Java 391 für Windows Java Basics - Anfänger-Themen 37
G Java long- in int-Variable umwandeln Java Basics - Anfänger-Themen 6
JaZuDemNo Java im Studium Java Basics - Anfänger-Themen 7
E Java Programm zur anzeige, ob Winter- oder Sommerzeit herrscht Java Basics - Anfänger-Themen 62
I QR code in Java selber generieren Java Basics - Anfänger-Themen 5
V Java-Ausnahmebehandlung: Behandlung geprüfter Ausnahmen Java Basics - Anfänger-Themen 1
krgewb Java Streams Java Basics - Anfänger-Themen 10
A Überwältigt von der komplexen Java Welt Java Basics - Anfänger-Themen 29
O Mehrfachvererbung auf Spezifikations- und Implementierungsebene in Java. Interfaces Java Basics - Anfänger-Themen 19
John_Sace Homogene Realisierung von Generics in Java ? Java Basics - Anfänger-Themen 19
P Meldung aus Java-Klasse in Thread an aufrufende Klasse Java Basics - Anfänger-Themen 1
R mit Java API arbeiten Java Basics - Anfänger-Themen 9
P JDK installieren Probleme bei der Java-Installation Java Basics - Anfänger-Themen 8
S Java: Wie sortiere ich eine ArrayList benutzerdefinierter Objekte nach einem bestimmten Attribut? Java Basics - Anfänger-Themen 2
Timo12345 JNLP File mit Java öffnen Java Basics - Anfänger-Themen 2
S Video Editierung mit Java.._ Java Basics - Anfänger-Themen 2
F Einstelungen in Java - CursorBlinkRate Java Basics - Anfänger-Themen 10
A PHP $_POST["name"] in Java Java Basics - Anfänger-Themen 3
vivansai21 Is there a oneliner to create a SortedSet filled with one or multiple elements in Java? Java Basics - Anfänger-Themen 9
Athro-Hiro Weißes Bild in Java erstellen Java Basics - Anfänger-Themen 3
Arjunreddy Can someone please tell me how to use a debugger in BlueJ(a Java environment) Java Basics - Anfänger-Themen 1
M Java assoziationen (UML) Java Basics - Anfänger-Themen 8
H Excel-Tabellen mit Java erstellen Java Basics - Anfänger-Themen 4
Simon16 Java ArrayListe von einer Klasse sortieren Java Basics - Anfänger-Themen 2
P Wie kann ich in meinem Java Programm etwas dauerhaft speichern? Java Basics - Anfänger-Themen 5
H Nutzt Eclipse alle CPU-Threads beim Ausführen von Java-Programmen? Java Basics - Anfänger-Themen 4
xXGrowGuruXx Java einstieg, leichte sache 0 verstanden Java Basics - Anfänger-Themen 7
A java.sql.SQLException: Data type mismatch. Java Basics - Anfänger-Themen 1
H Java-Programm zur Ausgabe von Zuständen Java Basics - Anfänger-Themen 80
N Java Spiel Figur auf dem Hintergrundbild bewegen. Java Basics - Anfänger-Themen 11
G Kann Java-Programm nicht als jar aufrufen, auch als EXE nicht Java Basics - Anfänger-Themen 19
N Java Taschenrechner hat Jemand vlt einen Tipp dafür wie ich jetzt die buttons verbinden kann und das Ergebnis auf dem textfield anzeigen lassen kann Java Basics - Anfänger-Themen 13
A Lerngruppe Java Java Basics - Anfänger-Themen 2
G Help me in the Java Program Java Basics - Anfänger-Themen 2
L Java- Vererbung Java Basics - Anfänger-Themen 4
LimDul Suche Java Stream Tutorial Java Basics - Anfänger-Themen 2
_so_far_away_ Ich möchte Java lernen Java Basics - Anfänger-Themen 11
benny1993 Java Programm erstellen für ein Fußball-Turnier Java Basics - Anfänger-Themen 3
M Datentypen While-Schleife eine Java Methode erstellen Java Basics - Anfänger-Themen 3
V Bild per Java Script austauschen Java Basics - Anfänger-Themen 7
MoxMorris this Keyword in Java Java Basics - Anfänger-Themen 14
D Wie kann man in Java nach Arrays auf Duplikate prüfen Java Basics - Anfänger-Themen 12
wolei JAVA Zeitdifferenz feststellen. Java Basics - Anfänger-Themen 4
DiyarcanZeren Rekursion in Java Java Basics - Anfänger-Themen 5
wolei Java generic interface in a generic class Java Basics - Anfänger-Themen 6
monsterherz Ablauf der Erstellung eines Java Programmes Java Basics - Anfänger-Themen 17
monsterherz Circle.java:5: error: <identifier> expected Java Basics - Anfänger-Themen 2
julian-fr Wie kann ich am besten Java lernen? Java Basics - Anfänger-Themen 17
A Java-Properties und -RessourceBundles Java Basics - Anfänger-Themen 5
lrnz22 Java-Basics-Aufgabe Java Basics - Anfänger-Themen 8
R Java kann nicht installiert werden Java Basics - Anfänger-Themen 8
marcelnedza Finde meinen Fehler in einer Methode nicht, Java Karol Java Basics - Anfänger-Themen 15
G In ein java Dokument Ton einbinden Java Basics - Anfänger-Themen 1
C was heisst es wenn java ']' erwartet ? Java Basics - Anfänger-Themen 2
KeinJavaFreak Erste Schritte Programm "Java(TM) Platform SE binary " nicht vorhanden Java Basics - Anfänger-Themen 1
KeinJavaFreak Erste Schritte Java "Executable Jar File" nicht vorhanden Java Basics - Anfänger-Themen 1
melisax Java 2D-Array Tabelle Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben