Outils pour utilisateurs

Outils du site


tips_informatiques:java:config:config

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.

tips_informatiques/java/config/config.txt · Dernière modification: 2009/06/22 00:00 (modification externe)