lundi 24 décembre 2012

Tomcat, JRE 1.7.0 et OS X Lion

Pense-bête :

Tomcat a besoin que la variable d’environnement JAVA_HOME soit défini. Elle l'est par défaut mais elle pointe sur une version antérieure du JRE, de ce fait, les Servlets sont compilé avec la version 1.7.0 alors qu'elles sont exécutées avec la version 1.6..

Du coup, une belle erreur qui pique la crane et qui fait perdre une journée de boulot :

ClassName : Unsupported major.minor version 51.0 (unable to load class ClassName)

exception java.lang.UnsupportedClassVersionError: ClassName : Unsupported major.minor version 51.0 (unable to load class ClassName)

Pour regler le problème, stackoverflow propose de définir JAVA_HOME avec un script fourni dans OS X  (/usr/libexec/java_home étant un lien symbolique) :

export JAVA_HOME=$(/usr/libexec/java_home)

Le problème c'est que cette appel shell n'échappe pas les espaces, ce qui donne un path erroné.

/usr/local/bin/catalina: line 439: /Library/Java/JavaVirtualMachines/JDK/bin/java: No such file or directory
 
Il faut donc faire le boulot à la place du script :

$ cd /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/
$ ./java_home
/Library/Java/JavaVirtualMachines/JDK 1.7.0 Developer Preview.jdk/Contents/Home
$ export $JAVA_HOME="/Library/Java/JavaVirtualMachines/JDK 1.7.0 Developer Preview.jdk/Contents/Home" 


Relancer Tomcat et tout est good :)

lundi 27 février 2012

macports MAMP et Symfony2

Comme j'ai galérer violemment alors que c'était simple, voici comment installer Symfony sur un serveur MAMP tout compilé depuis Macports.

Tout d'abord, le tutoriel pour ce faire un build MAMP depuis les ports.
Ensuite, télécharger l'archive Symfony et la déposer dans le DocumentRoot.
Ensuite trois petites commandes :

$ sudo port install php5-sqlite php5-iconv php5-apc php5-posix php5-intl
$ sudo port unload apache2
$ sudo port load apache2

Explication :
Symfony recommande l'utilisation de plusieurs extensions pour son fonctionnement, après avoir relancer apache2, celui-ci ne devrait plus gueuler.

En espérant aider :)

samedi 11 février 2012

Mon prompt oh-my-zsh

Oh-my-zsh est un framework pour le shell ZSH qui est suivi par pas moins de 4300 personnes et est forké 1700 fois sur github, il fait parti des dépôts les plus actifs de la communauté.
Je me suis inspiré du prompt tonotdo déjà disponible en y ajoutant des petites touches personnelles ainsi que le vi-mode en dessous du prompt :
ps : Les couleurs proviennent du colorscheme solarized de Vim.
[edit] : Le code est ici warez.zsh-theme