揭秘Classpath
环境变量CLASSPATH 在安装Java环境的时候,我们需要配置PATH和CLASSPATH。 PATH:PATH比较好理解,我们在命令行需要执行某个命令的时候如python的时候,如果没有配置PATH,则需要进入python.exe所在的文件夹下,然后执行python。那配置PATH中的python所在路径,其实就相当于简化了这个过程,当配置完成后再执行python,首先去PATH中从左到右搜索所有的路径,直到搜索到python.exe,然后利用该路径执行命令,如果找不到则提示该命令不存在。 CLASSPATH:CLASSPATH其实也很好理解,这里来一段Java官方文档的解释: The CLASSPATH variable is one way to tell applications, including the JDK tools, * where to look for user classes *. (Classes that are part of the JRE, JDK platform, and extensions should be defined through other means, such as the bootstrap class path or the extensions directory.) 名如其人,classpath就是classes所在的path,那设置CLASSPATH的作用就是指定java类所在的目录,当我们执行java命令的时候,java需要去哪里找class文件呢,这时候就需要设置classpath,我们可以输出当前环境的classpath查看: * echo %CLASSPATH% * 1 .;C:\Program Files\Java\jdk1.8.0_181\lib;C:\Program Files\Java\jdk1.8.0_181\lib\tools.jar CLASSPATH的扫描同样是从左向右的。我们可以看到参数以 ; 分割,那么第一个参数 *.*指代的就是当前目录,意思是java去当前目录下寻找class文件进行执行。 Spring中的classpath 我们在很多的项目代码的config代码中都可以看到 @PropertySource(value = "classpath:map-config.yaml") 类似的代码,在这里也用到了classpath,这里的classpath什么作用呢? ...