Autor Thema: Startscript für Java-Programme  (Gelesen 387 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline Daniel K.

  • Terabyte
  • ***
  • Beiträge: 685
  • C/C++ - Programmierer
    • Profil anzeigen
    • codebox
  • OS: Xubuntu 9.10 Karmic Koala i686
Startscript für Java-Programme
« am: 15. Januar 2010, 06:28:15 »
Beim Starten von Java-Anwendungen gibt es ein paar Probleme:
Zum einen muss die Datei ohne Dateiendung aufgerufen werden und der Startbefehl muss im gleichen
Verzeichnis gestartet werden.
Bei der Arbeit mit der Konsole ist das nicht das Problem, aber wenn man es Benutzern ermöglichen möchte,
Java-Applications mit einem Klick zu starten, geht das einfach nicht.
Und genau darum habe ich mir ein kleines Skript gebastelt, mit dem man Java Programme starten kann.

Finden könnt ihr das Skript  hier.

Kopiert es einfach nach /usr/bin oder ~/bin und macht es mit chmod 755 exec_java.sh ausführbar.
Aufrufen mit exec_java.sh .class-Datei:
exec_java.sh /home/daniel/Software/Java/MyApp.class

Das Skript entfernt den Pfad und die Dateiendung, wechselt in das Verzeichnis und führt die Datei aus.

Falls Fehler auftreten, gibt das Skript grafische Meldungen aus (mit zenity).

P.S.:
Falls jemand eine sed-Lösung für den Perl-Workaround im Skript hat, bitte melden.
divide et impera
codebox


Offline Ennosuke

  • Mr Blood
  • Globaler Moderator
  • Gigabyte
  • ***
  • Beiträge: 483
  • Strawberries & Blood
    • Profil anzeigen
Antw:Startscript für Java-Programme
« Antwort #1 am: 16. Januar 2010, 14:52:50 »
Das ist sehr sehr sehr umständlich :D

und nicht viel schneller als

java /home/daniel/Software/Java/MyApp.class
;) bei einer normalen Javainstallation sollte es unter Linux kein Problem sein unter Windows muss man nur in die PATH Variable den Pfad zum Java bin Verzeichnis dazupacken.

Jar Datein gehen wie folgt:

java -jar /home/daniel/software/Java/MyApp.jar
In Windows gehen Jars aber so und unter Linux kann man auch den Datentyp mit dem Befehl knüpfen.

Ich sehe keinen Sinn hinter deinem Skript, da das was es macht eigentlich kaum benötigt wird im Grunde nie.
Only a Strawberrie can understand blood, because she is red

Offline Daniel K.

  • Terabyte
  • ***
  • Beiträge: 685
  • C/C++ - Programmierer
    • Profil anzeigen
    • codebox
  • OS: Xubuntu 9.10 Karmic Koala i686
Antw:Startscript für Java-Programme
« Antwort #2 am: 16. Januar 2010, 18:52:26 »
Ich moechte es Benutzern ermoeglichen, Java-Applikationen ohne Terminal zu oeffnen.
Also mit Klick. Leider bringt es nichts sie mit dem Programm java(1) zu oeffnen, da die .class-Endung weggelassen werden muss.
divide et impera
codebox

Offline Ennosuke

  • Mr Blood
  • Globaler Moderator
  • Gigabyte
  • ***
  • Beiträge: 483
  • Strawberries & Blood
    • Profil anzeigen
Antw:Startscript für Java-Programme
« Antwort #3 am: 17. Januar 2010, 14:11:27 »
Ich moechte es Benutzern ermoeglichen, Java-Applikationen ohne Terminal zu oeffnen.
Also mit Klick. Leider bringt es nichts sie mit dem Programm java(1) zu oeffnen, da die .class-Endung weggelassen werden muss.


Seit wann das? Also ich kann bei GNOME ne .class mit einem Doppelklick öffnen und die wird ausgeführt. Ebenso ne .sh oder eine .py. Da ist keinerlei Unterschied, ausser halt, dass man andere Programme nutzt um sie auszuführen. Wie schon im Forum einmal erwähnt sind .class Datein eigentlich Skripte, welche von der JR nochmals interpretiert werden. Ich sehe das Problem einfach nicht
Only a Strawberrie can understand blood, because she is red

Offline Daniel K.

  • Terabyte
  • ***
  • Beiträge: 685
  • C/C++ - Programmierer
    • Profil anzeigen
    • codebox
  • OS: Xubuntu 9.10 Karmic Koala i686
Antw:Startscript für Java-Programme
« Antwort #4 am: 18. Januar 2010, 18:21:06 »
1. Bei mir passiert bei Doppelklick .. nichts (bis auf den "Open with"-Dialog).
2. Falls ich java(1) als Interpreter angebe, gibt's Fehler, weil er
  1. Die Dateiendug (.class) mit angibt
  2. In einem anderen Verzeichnis arbeitet und deswegen Packages nicht funktionieren
divide et impera
codebox

Offline Ennosuke

  • Mr Blood
  • Globaler Moderator
  • Gigabyte
  • ***
  • Beiträge: 483
  • Strawberries & Blood
    • Profil anzeigen
Antw:Startscript für Java-Programme
« Antwort #5 am: 21. Januar 2010, 17:36:46 »
1. Man kann Dateitypen mit Programmen verknüpfen weis jetzt gerade nicht wie genau bin imo in Windows und keine Lust deswegen neuzustarten

2.1 Das verstehe ich nicht ganz, meinem java ist es egal ob ich .class oder ohne .class die Datei habe, weil es nach dem Mimetyp geht und dem Inhalt.
2.2 Dann mach ne JAR draus, dann kann man sich auch zu 100% sicher sein, keine Probleme damit zu haben.
Only a Strawberrie can understand blood, because she is red

Offline Daniel K.

  • Terabyte
  • ***
  • Beiträge: 685
  • C/C++ - Programmierer
    • Profil anzeigen
    • codebox
  • OS: Xubuntu 9.10 Karmic Koala i686
Antw:Startscript für Java-Programme
« Antwort #6 am: 26. Januar 2010, 20:57:58 »
2.1 Wenn du aufrufst
java myfile.class
Dann sucht er die Klasse class im Packe myfile (. ist doch der Trenner fuer Packages!!)

2.2 Ja ok, das stimmt.
divide et impera
codebox