我有一個很煩人的問題:Tomcat的CLASSPATH
我的項目(JSP,Servlet的)要求的Xerces-J 2.8.1或更高版本。但在我們的服務器(Tomcat 5.5)上,xerces 2.6.2總是首先出現,並導致嚴重錯誤。
我檢查了$ CLASSPATH並做了一些清理。但是,xerces 2.6.2仍然存在。任何人都可以告訴我如何知道這個xerces 2.6.2在哪裏?
我有一個很煩人的問題:Tomcat的CLASSPATH
我的項目(JSP,Servlet的)要求的Xerces-J 2.8.1或更高版本。但在我們的服務器(Tomcat 5.5)上,xerces 2.6.2總是首先出現,並導致嚴重錯誤。
我檢查了$ CLASSPATH並做了一些清理。但是,xerces 2.6.2仍然存在。任何人都可以告訴我如何知道這個xerces 2.6.2在哪裏?
首先,環境變量$CLASSPATH
(和它的Windows等價%CLASSPATH%
)是通過別的比Java運行命令(java.exe
在Windows中)忽略其中沒有任何-cp
,-classpath
和-jar
論點。請勿將此術語混淆爲類路徑real。對於不想每次輸入整個-cp
或-classpath
參數的初學者來說,該環境變量只是(窮)便利。
至於您的實際問題,Tomcat內部也使用Xerces來解析XML文件,如this document中所述。如果您完全控制了服務器,那麼最好可以將新的Xerces JAR文件放在/common/endorsed
文件夾中,如文檔中所述。
如果您將Xerces jar包含在您的Web應用程序中,那麼它取決於如何爲您的應用程序和/或服務器配置類加載。這裏有這方面的消息:
http://tomcat.apache.org/tomcat-5.5-doc/class-loader-howto.html