Hi,
Im Studium haben ich Programm entwickelt, das einige mathematische Algorithmen und Funktionen abbildet bzw. ausführen kann. Neben einfachen Grundrechenarten habe ich hier u.A. eine simple Form der Bruchrechnung, einfache Matrix-Verarbeitung und einen Simplex-Optimierungsalgorithmus implementiert. Alles funktioniert auch soweit.
Mein Problem ist jetzt das Folgende: heute war Zwischenpräsentation meiner Arbeit. Der Prof. war auch sehr zufrieden mit den Algorithmen. Sein einziger Kritikpunkt war, dass das Programm für den Endanwender selbst mit drei Dateien daherkommt - nämlich
core.jar
startLinux.sh
startWindows.bat
Seiner Meinung nach, hat das Programm letzlich dem Endanwender nur eine einzige Datei zu bieten. Das Programm soll auch via Draufklicken zu starten sein - also nicht nur über Konsole / Terminal. Gleichzeitig soll es sowohl unter Windows (Xp, Vista und 7), als auch unter Linux (Ubuntu ab 10.04.) funktionieren.
Zwar weiß ich, wie ich in Java auslesen kann, welches Betriebssystem auf dem Rechner wohnt, jedoch komme ich nicht weiter mit dem öffnen per klick.
Könnt Ihr mir da helfen?
Ein- und Ausgabe erfolgt in aktueller Version nur in Konsole / Terminal - grafische Oberfläche ist für das nächste Semester geplant. Folglich ist meines Wissens ein Start über shell-Skript / batch-Skript notwendig, um dem User die Eingabe von
"java -jar core.jar" zu ersparen. Letzlich steht in den Skript-Dateien natürlich lediglich genau dieser Befehl.
Lösungskonzept
Mein aktuelles Konzept sieht vor, alle drei Dateien in eine simplex.jar einzubinden. Diese soll nur eine weitere Klasse enthalten, in welcher geprüft wird, ob es sich um ein Linux- oder um ein Windowsbetriebssystem handelt. Mit Hilfe einer einfach If-Condition soll entsprechend des Betriebssystems aus die entsprechende Skript-Datei ausgeführt werden
Fragen
Wie schaffe ich es, dass eine jar-Datein direkt per Doppelklick ausführbar ist?
Wie binde ich die Windows-Konsole und das Linux-Terminal und zusätzlich die beiden Skript-Dateien in die JVM ein?
Ich stelle mir das so vor: die Konsole / das Terminal wird aus Java heraus geöffnet und kann zudem den Befehl java -jar core.jar verarbeiten.
Mfg
Rames
Im Studium haben ich Programm entwickelt, das einige mathematische Algorithmen und Funktionen abbildet bzw. ausführen kann. Neben einfachen Grundrechenarten habe ich hier u.A. eine simple Form der Bruchrechnung, einfache Matrix-Verarbeitung und einen Simplex-Optimierungsalgorithmus implementiert. Alles funktioniert auch soweit.
Mein Problem ist jetzt das Folgende: heute war Zwischenpräsentation meiner Arbeit. Der Prof. war auch sehr zufrieden mit den Algorithmen. Sein einziger Kritikpunkt war, dass das Programm für den Endanwender selbst mit drei Dateien daherkommt - nämlich
core.jar
startLinux.sh
startWindows.bat
Seiner Meinung nach, hat das Programm letzlich dem Endanwender nur eine einzige Datei zu bieten. Das Programm soll auch via Draufklicken zu starten sein - also nicht nur über Konsole / Terminal. Gleichzeitig soll es sowohl unter Windows (Xp, Vista und 7), als auch unter Linux (Ubuntu ab 10.04.) funktionieren.
Zwar weiß ich, wie ich in Java auslesen kann, welches Betriebssystem auf dem Rechner wohnt, jedoch komme ich nicht weiter mit dem öffnen per klick.
Könnt Ihr mir da helfen?
Ein- und Ausgabe erfolgt in aktueller Version nur in Konsole / Terminal - grafische Oberfläche ist für das nächste Semester geplant. Folglich ist meines Wissens ein Start über shell-Skript / batch-Skript notwendig, um dem User die Eingabe von
"java -jar core.jar" zu ersparen. Letzlich steht in den Skript-Dateien natürlich lediglich genau dieser Befehl.
Lösungskonzept
Mein aktuelles Konzept sieht vor, alle drei Dateien in eine simplex.jar einzubinden. Diese soll nur eine weitere Klasse enthalten, in welcher geprüft wird, ob es sich um ein Linux- oder um ein Windowsbetriebssystem handelt. Mit Hilfe einer einfach If-Condition soll entsprechend des Betriebssystems aus die entsprechende Skript-Datei ausgeführt werden
Fragen
Wie schaffe ich es, dass eine jar-Datein direkt per Doppelklick ausführbar ist?
Wie binde ich die Windows-Konsole und das Linux-Terminal und zusätzlich die beiden Skript-Dateien in die JVM ein?
Ich stelle mir das so vor: die Konsole / das Terminal wird aus Java heraus geöffnet und kann zudem den Befehl java -jar core.jar verarbeiten.
Mfg
Rames