Classpath是Java中的重要概念:
它描述了Java虚拟机在运行一个Class时在哪些路径中加载要运行的类以及运行的类要用到的类
简单的说,就是像操作系统的path
只不过这个classpath是由Java的虚拟机来使用查找需要加载的类
而操作系统的path是由操作系统用来查找用户输入的可执行程序
同path一样,classpath也是一个环境变量,可以通过set命令来设置
Classpath的顺序和类版本冲突:
Java虚拟机在加载类的时候查找classpath是有顺序的
如果在classpath中有多个条目都有同一个名称的类
那么在较前位置的类会被加载,后面的会被忽略
这种按照顺序的类加载可能会导致类的版本冲突
例如classpath=c:servlet2.2servlet.jar;c:servlet2.3servlet.jar
那么在实际应用的过程中,你使用的是servlet2.2,而不是servlet2.3
很多时候如果不注意这一点,可能会导致奇怪的异常。