2010-01-22 7 views
2

J'ai un problème très gênant:Tomcat CLASSPATH

Mon projet (JSP, Servlet) nécessite Xerces-J 2.8.1 ou plus. Mais sur notre serveur (Tomcat 5.5), xerces 2.6.2 arrive toujours en premier et il en résulte une erreur grave.

J'ai vérifié $ CLASSPATH et j'ai fait quelques nettoyages. Cependant, xerces 2.6.2 est toujours là. Quelqu'un pourrait-il me dire comment savoir où est ce xerces 2.6.2?

Répondre

1

Tout d'abord, la variable d'environnement $CLASSPATH (et son équivalent de Windows %CLASSPATH%) est ignoré par quoi que ce soit d'autre que la commande d'exécution Java (java.exe sous Windows) qui a été exécuté sans l'un des arguments -cp, -classpath et -jar. Ne confondez pas ce terme avec le real classpath. Cette variable d'environnement est juste conçue comme (pauvre) commodité pour les débutants qui ne veulent pas taper l'argument entier -cp ou -classpath à chaque fois. En ce qui concerne votre problème actuel, Tomcat utilise également Xerces en interne pour analyser les fichiers XML, comme indiqué dans this document. Si vous avez un contrôle total sur le serveur, le mieux est de placer le nouveau fichier Xerces JAR dans le dossier /common/endorsed, comme expliqué dans le document.