Classpath是Java中的重要概念:
它描述了Java虛擬機在運行一個Class時在哪些路徑中加載要運行的類以及運行的類要用到的類
簡單的說,就是像操作系統的path
只不過這個classpath是由Java的虛擬機來使用查找需要加載的類
而操作系統的path是由操作系統用來查找用戶輸入的可執行程序
同path一樣,classpath也是一個環境變量,可以通過set命令來設置
Classpath的順序和類版本沖突:
Java虛擬機在加載類的時候查找classpath是有順序的
如果在classpath中有多個條目都有同一個名稱的類
那么在較前位置的類會被加載,后面的會被忽略
這種按照順序的類加載可能會導致類的版本沖突
例如classpath=c:\servlet2.2\servlet.jar;c:\servlet2.3\servlet.jar
那么在實際應用的過程中,你使用的是servlet2.2,而不是servlet2.3
很多時候如果不注意這一點,可能會導致奇怪的異常。