====== classpath ====== __Ajout de librairies__: Toujours setter la variables d'environnement $CLASSPATH pour spécifier des '.jar' supplémentaires à Java de base. Le nom de la variable est important. 'javac' et 'java' utilisent le contenu de $CLASSPATH pour compiler et exécuter. __Remarque__: Afin de permettre l'exécution de la méthode 'main' d'une classe via la commande 'java myClass', il est nécessaire de spécifier './' dans $CLASSPATH. Si ce n'est pas le cas, une Exception de type NoClassDefException est lancée. __OS__: Mandrake 10.0 Les variables d'environnement sont settées dans: file:/home/username/.bash_profile ($HOME/.bash_profile) Un exemple de config pour Java: # User specific environment and startup programs # Java 1.5 PATH=$PATH:$HOME/bin:$HOME/Java/jdk1.5.0/bin:./ JDK_HOME=$HOME/Java/jdk1.5.0 JAVA_HOME=$HOME/Java/jdk1.5.0 # librairies Java supplementaires CLASSPATH=$HOME/Java/oracle/ojdbc14.jar CLASSPATH=$CLASSPATH:./ CLASSPATH=$CLASSPATH:$HOME/Java/mysql/mysql-connector-java-3.0.15-ga-bin.jar # export des variables export JDK_HOME export JAVA_HOME export PATH export CLASSPATH ====== Installation d'un serveur web ====== __OS__: Ubuntu 5.04 __Problème__: Après installation d'un serveur web Java, impossible de le lancer sans problème. Des classes ne sont pas trouvées. C'était le cas avec Tomcat et Resin. En fait, la variable $JAVA_HOME est nulle dès le lancement des scripts de démarrage. __Solution__: Pour les deux serveurs, j'ai résolu le problème en spécifiant en dur $JAVA_HOME dans les scripts de démarrage: ===== Tomcat 5.5.9 ===== setclasspath.sh, en haut: JAVA_HOME=$HOME/applications/java/j2sdk1.4.2_07 ===== Resin 3.0.13 ===== httpd.sh, décommenter la ligne: # You can predefine JAVA_HOME and RESIN_HOME # JAVA_HOME=$HOME/applications/java/j2sdk1.4.2_07 export JAVA_HOME Je ne sais pas pourquoi cette variable est nulle lors du lancement alors qu'elle est connue du shell.