Java programm aus c programm starten

hallo zusammen
wie kann ich eine schon kompilierte Java-Applikation von einem C programm starten.
ich habe in google gesucht aber nichts gefunden und habe auch den system(„java Hello“) ausprobiert aber ohne erfolg.

für jeden Typ oder Link bedanke ich mich in voraus

youssef

Moin

wie kann ich eine schon kompilierte Java-Applikation von einem
C programm starten.

Commandozeile aufrufen. (cmd, command, bash… je nach OS halt)

Wenn das java-Teil als jar vorliegt:
„java -jar jar-mit-kompletter-pfadangabe“

Wenn es keine jar ist:
„cd Basisverzeichniss-des-java-programms“
„java normale-Startklasse-mit-packetangabe“

(aus nicht-jar-programmen kann man ganz einfach jar-Programme machen, frag einfach nach)

cu

zuerst danke für die schnelle antwort, aber ich möchte von c programm aus meine java -Applikation starten.
ich habe das hier und das funktioniert

#include
#include

void main()
{
 printf("aufruf ein java programm folgt\n");
 system("D:\\c-c++\\java\_from\_c\\Debug\\java.bat");
}

java.bat enthählt nur die zeile „java Hello“
ich werde auch den jar-option ausprobieren aus eclipse

youssef

youssef

und noch eine frage
ich starte jetzt eine java-applikation mit gui aus dem c programm heraus wie in letzen beitrag.
ich möchte nach schliessen der Fenster-Applikation dass die Kontrolle zurück zum c programm geht aber das passiert nicht und die kontrolle bleibt hängen(irgendwo).
das selbe passiert wenn ich meine applikation von kommandozeile ausführe.

kennt jemand eine Lösung für dieses Problem ?

youssef

Hi Youssef,

beim Fensterschließen wird Deine Java-Anwendung nicht beendet.

Ab JDK 1.4:
Ruf für Dein Hauptfenster folgendes auf:

hauptFenster.setDefaultCloseOperation(WindowConstants.EXIT\_ON\_CLOSE)

Dann sollte die VM beenden !

Für JDK

danke
Hi Lars,

ich habe das problem schon gelöst und zwar mit

hauptFenster.setDefaultCloseOperation(WindowConstants.EXIT\_ON\_CLOSE)

ich habe jsdk 4.1 und habe vorher versucht in windowclosing (nicht in windowClosed) mit System.exit() aber erfolglos.
jetzt benutze ich sogar eine andere funktion als system(), die genau macht was ich brauche und zwar _spawn()
vielen danke für deine Hilfe

Gruss Youssef,