Mittwoch Jul 30, 2008

Ein paar Tips für (Java-) Entwickler auf Mac OSX

  • Verschiedene Java Versionen

    Auf einem aktuellen Mac sind immer mehrere Java Versionen zu finden. Wenn es sich um einen halbwegs aktuellen 64-bit Intel Mac handelt sollte die Softwareaktualisierung mittlerweile auch Java 6 installiert haben. Einen Überblick bekommt man mit einem ls -l /System/Library/Frameworks/JavaVM.framework/Versions/. Doch welche Version wird nun verwendet? Antwort: Das kommt darauf an.
    Startet man eine Java Desktop Applikation wie z.B. Eclipse oder DbVisualizer so kommt die Java Version zum Einsatz auf die der symlink 'CurrentJDK' in oben genanntem Verzeichnis zeigt.
    Eine Überraschung kann man erleben wenn man java -version eingibt. Die Variante die dabei zum Zuge kommt ist u.U. eine andere und wird über ein kleines Programm in Programme > Dienstprogramme > Java > Java-Einstellungen kontrolliert. Und zwar kommt die Version zur Verwendung, die in der Liste 'Java-Programm Laufzeit-Einstellungen' zuerst steht.
    Schliesslich kann natürlich auch noch jedes Programmm selber versuchen eine geignete JVM zu finden. Maven besipielsweise tut das. Um Maven z.B. zu zwingen Java 6 zu verwenden kann man die Umgebungsvariable JAVA_VERSION auf 1.6 setzen

  • Subversion und ssh

    Ich habe ein simples Subversion Repository auf meinem MacPro, auf das ich von einer weiteren Maschine via ssh darauf zugreifen. Allerdings habe ich mittels MacPorts Subversion 1.5 installiert und damit das Repository angelegt. Versuche ich jetzt via ssh zuzugreifen bekomme ich irgendwelche Fehlermeldungen, daß die Repository Versionen inkompatibel sind. Das liegt daran, daß OSX ein svn binary mitbringt und zwar in der Version 1.4.x und dieses in Kontext einer secure shell bevorzugt benutz wird. Dies lässt sich ändern indem man auf dem Server in die Datei ~/.ssh/environment folgendes einträgt PATH=/opt/local/bin:/usr/bin:/bin:/usr/sbin:/sbin und damit den macport binaries Vorrang gibt. Außerdem muss man dann noch die /etc/sshd_config ändern und dort PermitUserEnvironment auf yes setzen (WARNUNG: ich weiß nicht ob das irgendwelche potentiellen Sicherheitslöcher aufreißt bitte nur nachmachen, wenn man in einer geschützen Umgebung arbeitet)

  • PostgreSQL mit MacPorts

    Ich hatte Probleme mit der Initailisierung von PostgreSQL. Beim Aufruf von initdb gab es irgendwelche access denied Probleme beim Zugriff auf /dev/null. Dies scheint daran zu liegen, daß der postgres user mit dem Wert /dev/null für die UserShell property angelegt wird. Dies lässt sich ändern indem man folgenden Befehl ausführt sudo dscl . -create /Users/postgres UserShell /usr/bin/false

Kommentare:

Senden Sie einen Kommentar:
Kommentare sind ausgeschaltet.