[C++] Starten einer Javaklasse

Unicate

Erfahrenes Mitglied
Hi all!

Ich habe ein Programm in Java geschrieben, welches ich gerne von einer Ausführbaren Binärdatei aus, gestartet haben würde. Ich weiß das es auch mit einem Doppelklick auf das jar-File geht, das möcht ich aber nicht.

Meine Idee bisher ist in C/C++ einfach einen system(); aufruf zu machen. Ist das in Ordnung oder bringt das irgendwelche Probleme mit?

Wie kann ich dann die Java-Version überprüfen?
 
hi

wenn du einen system-aufruf, ist ja im prinziep einfach nur eine anweisung für die Konsole, machst, muss du aber den exakten pfad der datei übergeben, dies bringt halt Probleme mit sich, da, die datei bei jedem verschieben und kopieren irgendwo anders landet, auser du sagt ich kopiere die Java datei z.b: in den system-ordner und führe sie immer von dort aus aus.
 
Hallo,

da würde ich dir die Funktion ShellExecute empfehlen. Der Aufruf verhält sich äquivalent zum Doppelklick, d.h. es wird die für die für Endung 'jar' registrierte Anwendung aufgerufen.

Gruß
MCoder
 
Das selbe wollte ich auch mal machen! Hier ist ein super-Programm dafür: Launch4J

Damit kannst du dir automatisch eine .EXE Datei erstellen lassen, die dir entweder deine .JAR Datei aufruft oder sogar die JAR Datei 'miteinbaut'. Ausserdem kannst du ein Icon festelegen, ein SplashScreen und kannst die Mindest und Maximal JRE-Version mit angeben.

Also ich kanns nur empfehlen, aber es gibt natürlich noch andere Programme die, die selbe Funktionalität bieten!
 
Zurück