1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  2. Unsere jährliche Weihnachts-Banner-Aktion hat begonnen! Wir freuen uns auf viele, viele kreative Vorschläge.
    Mehr dazu könnt Ihr hier nachlesen: Weihnachtsbanner 2016

    Information ausblenden

Problem mit verschiedene MAC OS X Versionen und selbstprogrammiertem Java-Programm

Dieses Thema im Forum "OS X-Developer" wurde erstellt von Bibo1987, 23.02.10.

  1. Bibo1987

    Bibo1987 Golden Delicious

    Dabei seit:
    22.02.10
    Beiträge:
    6
    Hallo liebe Apfeltalk-Entwickler.

    Ich bin relativ frisch im Thema "Entwickeln unter Mac OS X" und habe nun mein erstes Problem.

    Ich habe eine Java-Anwendung geschrieben, die eine Fremd-Library benutzt. Diese Bibliothek ist nicht 64Bit kompatibel, was der größte Punkt des Problems ist.

    Jetzt habe ich mein Programm auf einen ClientMac gepackt, wo mein Programm laufen soll. Dieser Mac ist ein iMac mit Mac Os X 10.4 (Tiger).

    Auf diesem iMac (Nennen wir ihn mal MAC01) wollte ich mein Programm nun ausführen. Als fehlermeldung wurde mir ausgegeben: "bad version number in .class file".

    Daraufhin habe ich recherchiert, woran das liegt. Das ergebniss ist, das eine alte Java-Version vorliegt.

    Da ich nicht weiter wusste, bin ich zum nächsten Mac, um dort mein Programm auch zu installieren.

    Dieses ist ein iMac Pro (Nennen wir ihn mal MAC02).
    Dort läuft Mac OS X 10.5.X (Leopard).

    Dort wurde mein Programm sogar ausgeführt! Doch als die Fremd-Bibliothek eingelesen werden sollte, bekamm ich die Fehlermeldung, das die .jar Datei nicht geladen werden kann...

    Ich führe mein Programm so aus:
    java -jar myJavaProgramm.jar -d32

    Dort lese ich dann: Cannot run java in 32 bit mode. continuing in 64 bit mode.

    Weiter habe ich noch nicht getestet.

    Kurz gesagt habe ich also ein Problem, das auf mein Programm nicht abwärtskompatibel mit alten Java-Versionen ist.

    Kann mir jemand Helfen? Hat jemand eine Idee, wie man dieses Problem lösen kann?

    Wenn ihr noch mehr Informationen zu meinem Problem benötigt, bin ich gerne bereit, weitere Details zu posten.

    Viele Grüße
    der Bibo

    PS:

    Hier noch einige Details.
    Entwickelt habe ich mit der IDE Eclipse für MAC.
    Entwickelt habe ich mein Programm mit einem Mac Book Pro.
    Auf dem Mac Book Pro ist das Mac OS X 10.6 Snow Leopard.
    JavaRuntimeEnvironment ist Version 6 auf dem Mac Book.
     
  2. Sid.TUX

    Sid.TUX Tydemans Early Worcester

    Dabei seit:
    20.08.05
    Beiträge:
    397
    Bzgl. Tiger: du mußt dein Programm mit der entsprechenden älteren Java Version kompilieren, dann sollte das kein Problem mehr sein.
    Was für eine Dritt-Bibliothek nutzt du denn? Das ist keine Java oder?
     
  3. Bibo1987

    Bibo1987 Golden Delicious

    Dabei seit:
    22.02.10
    Beiträge:
    6
    Hey!

    Danke für die schnelle Antwort! Ich werde dies gleich einmal versuchen!

    Bezüglich der Dritt-Bibliothek.
    Doch, das ist eine Java Bibliothek.

    <edit>
    Es ist die CumulusAPI von Canto. (CumulusJC)
    </edit>

    Dort sind viele Java Klassen und Java Funktionen, die mein Programm benutzt.

    Viele Grüße
    Bibo
     
  4. Sid.TUX

    Sid.TUX Tydemans Early Worcester

    Dabei seit:
    20.08.05
    Beiträge:
    397
    Da das ja ne kommerzielle Bibliothek ist frag soch mal den Support von denen.
    Ist das oben die exakte Fehlermeldung die kommt?
     
  5. Bibo1987

    Bibo1987 Golden Delicious

    Dabei seit:
    22.02.10
    Beiträge:
    6
    Hey!

    Danke für die Antwort.

    Also die Fehlermeldungen lauten genau:
    Message: bad version number in .class file
    Message: no CumulusJC in java.library.classpath

    Ich weiß das die zweite ehr darauf vermuten lässt, das die CumulusJC nicht im Classpath vorhanden ist. Das ist allerdings nicht der Fall, da diese wie gesagt keine 64Bit unterstüzt. Und sobald ich java -jar myProgramm.jar -d32 (Halt mit d32 als Parameter für die Java Runtime um in 32 Bit Modus zu laufen) funktioniert das auch ohne Probleme auf meinem Mac Book.

    Das Problem seh ich einfach in den alten MAC OS Versionen, die nicht das neuste Java unterstützen.

    Bezüglich dieser Antwort:
    Ich habe gerade etwas unter Eclipse gefummelt, das für das Compilieren des Projektes die 1.5.0 JVM genutzt werden soll, doch darauf wird mein Projekt einfach von Roten Ausrufezeichen überschwemmt.

    Ich bin gerade noch dabei zu Analysieren, was dort nicht aktzeptiert wird. Wie gesagt, ich bin halt noch neuling in der Java Entwicklung.

    Falls noch Informationen fehlen, einfach fragen :-D

    Viele Grüße
    Bibo1987
     
  6. Bibo1987

    Bibo1987 Golden Delicious

    Dabei seit:
    22.02.10
    Beiträge:
    6
    Hallo Community.

    Hier habe ich noch ein paar Informationen zu diesem Thema.

    Ich lasse nun den Quellcode für das JRE 1.5 (JVM 1.5) kompilieren.

    Auf meinem MacBook Pro läufts natürlich.

    Nun bin ich wieder an den iMac mit MacOS Tiger gegangen und habe mein Programm aufgerufen.

    Die Fehlermeldung lautet wie folgt:
    "java.lang.NoClassDefFoundError: javax/swing/GroupLayout$Group
    Exception in thread "main" "

    Also muss ich mir das so vorstellen, das die Swing Bibliothek im 1.5 Java Bauskasten nicht vorhanden ist?

    Ich bin am verzweifeln :-c

    Viele Grüße
    Björn
     
  7. Sid.TUX

    Sid.TUX Tydemans Early Worcester

    Dabei seit:
    20.08.05
    Beiträge:
    397
    GroupLayout steht leider erst ab JDK 6 verfügbar. Swing an sich schon.
    Du wirst da leider nen anderen Typ verwenden müssen.
     

Diese Seite empfehlen