Javaversion unter OS X 10.4.2 auf 1.5(.0) umstellen

Crian

Mitglied
Thread Starter
Registriert
25.05.2005
Beiträge
558
Hallo,

ich arbeite mich auf meinem iBook in Java ein. Dazu verwende ich Eclipse und das "Java-ist-auch-eine-Insel" Buch unter http://www.galileocomputing.de/openbook/javainsel4/.

Nun meine Frage: Ich würde gerne die neuen Sprachfeatures von Java 5 nutzen, da sie mir als C/C++/Perl-Programmierer mit enums und der vereinfachten for-Schleife entgegen kommen.

Also hab ich schonmal die 1.5.0er Version von Apple (als package) heruntergeladen und installiert.

java -version sagt aber leider "1.4.2_07".
which java sagt "/usr/bin/java".

Auch in Eclipse scheint die 1.4.2er Version zu werkeln, obwohl ich dort unter den Preferences -> Java -> Installed JREs die JVM 1.5.0 angehakt habe.

(Außerdem liess sich über Help -> Software Updates -> Find and Install -> Search for new features to Install -> Cheetah diese Cheetah-Erweiterung nicht richtig installieren. Die genaue Fehlermeldung muss ich nochmal überprüfen, wenn das iBook am Netz hängt. Aber vielleicht hat trotzdem schonmal jemand eine Idee dazu.)

Auf jeden Fall mag Java mein kleines Testprogramm mit enum überhaupt nicht, was verständlich ist, wenn nicht Java 5 zum Zuge kommt.
 

Horror

Aktives Mitglied
Registriert
03.02.2003
Beiträge
1.435
Am einfachsten du biegst den Symlink "CurrentJDK" unter /System/Library/Frameworks/JavaVM.framework/Versions von 1.4.2 auf 1.5.0 um. Ich denke du brauchst keine großen Instruktionen dazu, aber dennoch... ;) Am einfachsten du benennst das alte CurrentJDK nach CurrenJDK.142 um (mit mv) und erstellst dann mit ln -s 1.5.0 CurrentJDK einen neuen Symlink. Ein java -version sollte dann folgendes zeigen:

java version "1.5.0_02"

Dirk
 

Crian

Mitglied
Thread Starter
Registriert
25.05.2005
Beiträge
558
Danke für die Antwort, klingt gut.

Hmm... das System lässt mich leider nicht moven... auch nicht mit su -c '...'. Was tun?
 

Horror

Aktives Mitglied
Registriert
03.02.2003
Beiträge
1.435
Also ich habe das alles per sudo hinbekommen.

Also (im entsprechenden Ordner):

1. sudo mv CurrentJDK CurrentJDK.142 (beim ersten Mal musst du dein Kennwort eintippen, aber das weisst du sicher :) )
2. sudo ln -s 1.5.0 CurrentJDK

Das sollte eigentlich tun :)

Dirk
 

Crian

Mitglied
Thread Starter
Registriert
25.05.2005
Beiträge
558
Ah danke, hab nur su probiert... klappt :)

Ich habs so gemacht:

1) sudo ln -s 1.4.2 CurrentJDK_1_4_2
2) sudo rm CurrentJDK
3) sudo ln -s 1.5.0 CurrentJDK

Denn das mv hat nicht so wie von Unix gewöhnt funktioniert. Werden Links hier irgendwie anders behandelt?

Aber wie auch immer, java -version zeigt jetzt 'java version "1.5.0_02"' an, wie gewünscht.

Danke!
 

Horror

Aktives Mitglied
Registriert
03.02.2003
Beiträge
1.435
Ist ja merkwürdig. Eigentlich sollte sich das mv normal verhalten, die Links bleiben dennoch auf der Datei sitzen. Naja, Hauptsache es klappt :)

Dirk
 

Crian

Mitglied
Thread Starter
Registriert
25.05.2005
Beiträge
558
Ja, allerdings hatte ich nach dem mv plötzlich ein "CurrentJRE.1.4.2" Link im 1.4.2-Verzeichnis, was ich mir überhaupt nicht erklären konnte. Der Befehl war "sudo mv CurrentJRE CurrentJRE.1.4.2" gewesen (wenn ich das jetzt noch richtig im Kopf habe).

Hatte dann keine große Lust dem auf den Grund zu gehen und hab das Problem "umgangen".
 

Catweazle01

Mitglied
Registriert
15.01.2005
Beiträge
800
moin

Wenn ich mich recht entsinne, ist nach der Installation im Ordner Dienstprogramme ein tool, mit dem man einstellt, wann welche Java-Version benutzt werden soll...

Cat
 

Crian

Mitglied
Thread Starter
Registriert
25.05.2005
Beiträge
558
oh stimmt:

/Programme/Dienstprogramme/Java/J2SE 5.0/Java Preferences.app
 

Horror

Aktives Mitglied
Registriert
03.02.2003
Beiträge
1.435
Das Programm galt aber imho nur zum Umstellen des JDK für Java Applets usw. (also die Verwendung im Webbrowser etc.), nicht aber für das JDK mit dem man entwickeln kann, um seine Apps auf 1.5 zu trimmen.

Dirk
 

Crian

Mitglied
Thread Starter
Registriert
25.05.2005
Beiträge
558
stimmt

Es kann also nicht schaden, beides umgestellt zu haben.
 

derhenry

Mitglied
Registriert
22.05.2005
Beiträge
219
hallo,
ich möchte auch mit java auf dem mac anfangen und habe dafür die neueste version geladne und das installationsdingens ausgeführt.
wie bereits beschrieben, wird nach eingabe von "java -version" auch die alte angezeigt. ich habe als antilinuxuser keine ahnung, was der unten zitierte befehl macht, aber bei mir ist er nicht von erfolg gekrönt. schritt 1 wird kommentarlos quitiert, der zweite bringt folgendes:
rm: CurrentJDK: No such file or directory.

kann mir einer eine idiotentaugliche schritt für schritt anleitung geben?
danke. :-D


Crian schrieb:
Ah danke, hab nur su probiert... klappt :)

Ich habs so gemacht:

1) sudo ln -s 1.4.2 CurrentJDK_1_4_2
2) sudo rm CurrentJDK
3) sudo ln -s 1.5.0 CurrentJDK

Denn das mv hat nicht so wie von Unix gewöhnt funktioniert. Werden Links hier irgendwie anders behandelt?

Aber wie auch immer, java -version zeigt jetzt 'java version "1.5.0_02"' an, wie gewünscht.

Danke!
 

oneOeight

Aktives Mitglied
Registriert
23.11.2004
Beiträge
57.617
derhenry schrieb:
schritt 1 wird kommentarlos quitiert, der zweite bringt folgendes:
rm: CurrentJDK: No such file or directory.

kann mir einer eine idiotentaugliche schritt für schritt anleitung geben?

die kommandos setzen voraus, dass du vorher schon im richtigen verzeichnis bist...
also als allererstes:
cd /System/Library/Frameworks/JavaVM.framework/Versions/
 

Incoming1983

Aktives Mitglied
Registriert
23.07.2005
Beiträge
7.653
thx..

hatte vor einigen Tagen das gleiche Problem, hatte einfach ganz dreckig die /usr/bin/java gelöscht und das 1.5er Verzeichnis in meine Path Variable eingetragen..was man nicht so alles im Halbschlaf anstellt..
 

Crian

Mitglied
Thread Starter
Registriert
25.05.2005
Beiträge
558
oneOeight schrieb:
die kommandos setzen voraus, dass du vorher schon im richtigen verzeichnis bist...
also als allererstes:
cd /System/Library/Frameworks/JavaVM.framework/Versions/

Ja, das stand im Beitrag über meinem: "im richtigen Verzeichnis" ;)
 

derhenry

Mitglied
Registriert
22.05.2005
Beiträge
219
noch ne frage: bei der verwendung von xcode wird nach der oben beschriebenen prozedur auch auf java 1.5 zugegriffen? wie kann man zwischen 1.4 und 1.5 switchen?
 

mkaterbow

Mitglied
Registriert
30.11.2003
Beiträge
139
Gibt's eine Möglichkeit zumindest Java 1.4.2_07 unter 10.3.9 zu installieren?
 

grizto

Mitglied
Registriert
27.11.2004
Beiträge
398
inwieweit is die Version den "alltagstauglich"

hab jetzt auch mal nach der "Anleitung" hier (Unix Neuling) das Ganze eingestellt, und naja, viel funktionieren tut wenig...

Mein Eclipse kann mit Generics recht wenig bis gar nichts anfangen, bei einem simplen

Set<Book_1_5> books = new TreeSet<Book_1_5>()

bringt er mir

The type Set is not generic; it cannot be parameterized with arguments
<Book_1_5>

und bei einem, vor dem umstellen laufenden Programm, bringt er ne Menge Fehler:
Exception in thread "main" java.lang.UnsupportedClassVersionError: Tetris (Unsupported major.minor version 49.0)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:539)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:251)
at java.net.URLClassLoader.access$100(URLClassLoader.java:55)
at java.net.URLClassLoader$1.run(URLClassLoader.java:194)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)

alle programme wurden unter ner Dose programmiert und liefen unter 1.5 tadelos.
Jedoch sind das alle kleine Fragmente, die im Rahmen der Studium Übungen enstanden, also keine wirklich portierung nötig, und unter 1.4 liefen die (1.4 kompatiblen) Programme ja noch?
 

xero

Mitglied
Registriert
29.05.2005
Beiträge
685
Mit dem neuen Release vom 9. Dezember hat sich das manuelle Umstellen ja jetzt erledigt :) Wurd auch Zeit :D
 
Oben