Après investigation, je viens de localiser le pb : le fichier catalina.sh comporte une légère différence par rapport au fichier catalina.bat :
Extrait de catalina.sh :
# Add on extra jar files to CLASSPATH
if [ -n "$JSSE_HOME" ]; then
CLASSPATH="$CLASSPATH":"$JSSE_HOME"/lib/jcert.jar:"$JSSE_HOME"/lib/jnet.jar:"$JSSE_HOME"/lib/jsse.jar
fi
CLASSPATH="$CLASSPATH":"$CATALINA_HOME"/bin/bootstrap.jar:"$CATALINA_HOME"/bin/commons-logging-api.jar
Extrait de catalina.bat :
if "%JSSE_HOME%" == "" goto noJsse
set
CLASSPATH=%CLASSPATH%;%JSSE_HOME%\lib\jcert.jar;%JSSE_HOME%\lib\jnet.jar;%JSSE_HOME%\lib\jsse.jar
:noJsse
set CLASSPATH=%CLASSPATH%;%CATALINA_HOME%\bin\bootstrap.jar
Dans sous Unix le fichier commons-logging-api.jar est ajouté au classpath alors qu'il ne l'est pas sous Windows. Après vérification, c'est le cas pour Tomcat 5.0.x et Tomcat 5.5.x, ce n'était pas le cas pour Tomcat 4. Pour Tomcat 6, il y a la même différence mais le fichier n'existe pas.
Je suis un peu étonné que personne n'ai remonté le pb avant (le plugin est téléchargé au moins 20000 fois par mois depuis 2003 et il y a pas mal d'utilisateurs Linux). Sachant que dans votre log apparaît la classe JdkCompat, je me demande si le pb ne survient pas que si on lance Tomcat 5 avec un JDK autre que le JDK 1.5 (version pour laquelle il a été testé initialement).
En tout cas, la solution est simple et c'est celle que vous avez appliqué : ajouter le fichier $CATALINA_HOME"/bin/commons-logging-api.jar au classpath via les pages de préférences du plugin.
Je vais ajouter une remarque dans la partie 'Troubleshooting' de la page du plugin, merci de m'avoir permis d'identifier ce bug.
Pour les problèmes de permissions, il faut savoir que le plugin lance Tomcat via les API d'Eclipse afin que la JVM apparaissent dans le débogueur, du coup le user associé au process Tomcat est celui d'Eclipse ce qui explique ces warnings.
Partager