Frage
Ich habe ein sehr nerviges Problem:
Mein Projekt (JSP, Servlet) erfordert Xerces-J 2.8.1 oder höher. Auf unserem Server (Tomcat 5.5) Xerces 2.6.2 kommt jedoch immer an erster Stelle und dies führt zu einem schwerwiegenden Fehler.
Ich habe $ ClassPath überprüft und einige Aufräumarbeiten gemacht. Xerces 2.6.2 ist jedoch noch da. Könnte mir jemand sagen, wie ich weiß, wo diese Xerces 2.6.2 ist?
Lösung
Zunächst die Umgebungsvariable $CLASSPATH
(und sein Windowsäquivalent %CLASSPATH%
) ist ignoriert durch noch etwas als der Java Runtime Command (java.exe
in Windows), der ausgeführt wurde ohne eines der -cp
, -classpath
und -jar
Argumente. Verwechseln Sie diesen Begriff nicht als das real Klassenpfad. Diese Umgebungsvariable ist nur als (schlechte) Bequemlichkeit für Starter, die nicht das Ganze eingeben wollen -cp
oder -classpath
jedes Mal Argument.
In Bezug dieses Dokument. Wenn Sie die volle Kontrolle über den Server haben, können Sie die neuere Xerces -JAR -Datei in der Besten in der /common/endorsed
Ordner, wie im Dokument erläutert.
Andere Tipps
Wenn Sie das Xerces -Jar in Ihre Web -App einbeziehen, hängt dies davon ab, wie das Klassenload für Ihre Anwendung und/oder Ihren Server konfiguriert ist. Hier finden Sie Informationen dazu:
http://tomcat.apache.org/tomcat-5.5-doc/class-loader-howto.html