Java-Anwendung unter Mac OS X starten

Dieses Thema im Forum "Mac OS X Entwickler, Programmierer" wurde erstellt von gamel, 18.10.2006.

  1. gamel

    gamel Thread Starter MacUser Mitglied

    Beiträge:
    3
    Zustimmungen:
    0
    MacUser seit:
    18.10.2006
    Hallo!

    Ich habe eine Java-Anwendung geschrieben, welche auch auf dem Mac laufen soll. Glücklicherweise kann man auf dem Mac ja solch ein jar-Package durch einen einfachen Klick starten, doch bei mir gestaltet sich das Problem etwas schwieriger. Ich muss nämlich mein Programm eigentlich folgendermaßen starten:

    java -jar anwendung.jar -Xmx256M -Xms256M

    um der Anwendung genügend Arbeitsspeicher zu reservieren. Diese Optionen kann ich durch einen einfachen klick ja leider nicht mitgeben.

    Meine erste Idee war nun, eine bash-Datei mit diesem Befehl zu schreiben, die der User dann ausführen kann. Hier ist nun das Problem, dass Bash-Dateien nicht standardgemäß durch das Terminal ausgeführt werden. Ein normalUser weiß also auch hier nicht, wie er das starten kann.

    Die 2. Idee war dann, ein weiteres Java-Programm zu schreiben, welches den Befehl mittels

    Runtime.exec("mein Befehl samt Optionen");

    ausführt. Das funktioniert unter Linux und Windows genauso wie ich es möchte, doch auf dem Mac läufts net so recht. Scheinbar bekommt die Anwendung nicht den zugeteilten Arbeitsspeicher, wenn ich über das Hilfsprogramm starte, während alles super läuft, wenn ich die Befehlszeile per Hand im Terminal eingebe.

    Hier also die abschließenden Fragen:
    1) Woran liegt es, dass mein Programm über das Hilfsprogramm nicht sauber läuft, über die Befehlszeile aber schon?
    2) Welche möglichkeiten habe ich noch, die jar-Datei mit einem einfachen Klick samt den korrekten Optionen zu starten? Kann man sowas im Manifest der jar-Datei festegen?

    Viele Grüße und schon danke im Vorraus.
    Thomas
     
  2. oneOeight

    oneOeight MacUser Mitglied

    Beiträge:
    46.810
    Zustimmungen:
    3.633
    MacUser seit:
    23.11.2004
    der jar bundler in /Developer/Applications/Java hilft dir weiter...
    falls du XCode installiert hast...
     
  3. gamel

    gamel Thread Starter MacUser Mitglied

    Beiträge:
    3
    Zustimmungen:
    0
    MacUser seit:
    18.10.2006
    Hab leider das Problem, dass ich momentan kenen Mac hier hab und unter linux entwickle... Daher kann ich das Tool leider nicht nutzen.

    Was macht der Jar-Bundler? Erstellt er mir ne neue Datei die ich nur noch klicken muss?
    Und würde die dann auch auf jedem anderen Mac laufen?

    Viele Grüße
    Thomas
     
  4. oneOeight

    oneOeight MacUser Mitglied

    Beiträge:
    46.810
    Zustimmungen:
    3.633
    MacUser seit:
    23.11.2004
    der macht aus einem jar file halt ein app package, das man auf dem mac doppel klicken kann (und auch mit start parametern versehen kann)...

    wenn du nur auf linux entwickelst, dann solltest du einfach mal mit dem manifest und policy files rumprobieren...
     
  5. gamel

    gamel Thread Starter MacUser Mitglied

    Beiträge:
    3
    Zustimmungen:
    0
    MacUser seit:
    18.10.2006
    im manifest kann man sowas nicht angeben, da die JVM schon gestartet ist, wenn die jar-Datei geöffnet wird...
    Von policy-files hab ich bisher noch keine ahnung, wo gibts da infos?
     
  6. Muessigwalker

    Muessigwalker MacUser Mitglied

    Beiträge:
    363
    Zustimmungen:
    5
    MacUser seit:
    02.03.2006
    Also mein Problem ist ein ganz anderes, passt aber zumindest zu der Überschrift dieses Threads. Wie starte ich (als jemand, der noch nicht mit Java rumgespielt hat) überhaupt eine Java-Datei auf Mac OS X?!? Eigentlich sollte das, soweit ich das mitbekommen habe, automatisch erfolgen. Wenn ich die entsprechende Datei (.jar) per Kontextmenü über "Öffnen mit" > "Jar Launcher" zu öffnen probiere, beendet sich die Anwendung nach einem kurzen Augenblick wieder von selbst. Irgendwelche Tipps?
     
  7. almdudi

    almdudi MacUser Mitglied

    Beiträge:
    2.084
    Zustimmungen:
    129
    MacUser seit:
    02.02.2006
    Da sollte eigentlich ein Doppelklick schon reichen.
    Kommt denn keine Fehlermeldung oder ein Hinweis, mal in der Konsole nach den Logs zu schauen? Vielleicht wird eine andere Java-Version benötigt.
     
  8. Muessigwalker

    Muessigwalker MacUser Mitglied

    Beiträge:
    363
    Zustimmungen:
    5
    MacUser seit:
    02.03.2006
    Eine Fehlermeldung kam nicht... In der Konsole hab ich unter anderem das hier entdeckt:

    16.02.10 15:38:27 [0x0-0xd20d2].com.apple.JarLauncher[1694] Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: javax/swing/GroupLayout$Group

    sagt mir persönlich natürlich nichts... :confused:
     
  9. Rupp

    Rupp MacUser Mitglied

    Beiträge:
    7.543
    Zustimmungen:
    603
    MacUser seit:
    10.10.2004
    auf Deutsch: Er findet eine Klasse nicht, die beim Kompilieren noch vorhanden war. Und das ist in dem Fall hier offenbar die Klasse: "javax/swing/GroupLayout$Group".

    Diese existiert in Java 1.5 offenbar noch nicht. Steht dein Default Java auf 1.6 (unter Snow Leo sollte das der Fall sein)?
    Tipp: Programme -> Dienstprogramme -> Java–Einstellungen
     
  10. Muessigwalker

    Muessigwalker MacUser Mitglied

    Beiträge:
    363
    Zustimmungen:
    5
    MacUser seit:
    02.03.2006
    @ Rupp und almdudi: erstmal vielen Dank! und
    @ Rupp: ich habe noch gar keinen SnowLeo installiert, bin noch mit 10.5. unterwegs...in den Java-Einstellungen kann ich jedenfalls keine enstrechenden Default-Eistellungen für Java 1.6 finden? Wie kann man denn eigentlich seine Java-Version herausbekommen? Normalerweise erfolgt das Update doch über die Softwareaktualisierung, oder?? :confused: Kann man denn eine Klasse nachträglich in eine bestehende Java-Version einbinden??
     
    Zuletzt bearbeitet: 16.02.2010
Die Seite wird geladen...