classpath的理解和使用

classpath的理解和使用

  • classpath的说明可以参考oracle官方说明,这上面有详细的描述,中文可参考这篇博文
  • 在笔者看来呢,classpath就是寻找类的路径,为什么叫路径,而不叫目录啊,地址啊什么的,是因为路径(path)的含义就包括目录、地址等,由此可以看出,路径的实现方式会有很多种,有目录,也有文件的地址等等,从官方说明可以看出。
  • 那在具体的项目中,这个classpath是对应项目中的哪些目录呢?首先看个图:
  • 这是一个springboot项目,红色圈起来的目录main,编译后它下面的内容会被放到classpath下,项目编译后,如图:
  • 可以看到java和resource目录下的内容全都放在了classes目录下,classes这个目录就是classpath。然后再来看看打出来的jar包,它的结构是什么呢?如图:
  • 这里面的classpath就是lib和classes,要注意的是,classpath下不仅仅是class,还有一些资源文件。
  • 那怎么引用classpath下的内容呢?一般来说,可以通过classpath:+引用的内容,另外呢,file:+绝对路径,就是引用文件系统的内容了。
  • 在使用的时候,要注意,classpath:只会在已定义的路径下查找内容,可能是某个目录下的所有class文件,可能是某个jar文件等等,classpath*:还会到jar文件中的classpath去寻找内容,这在有继承的项目中会用到的,就是父项目需要读取子项目的配置文件时。

猜你喜欢

转载自blog.csdn.net/ljm_csdn/article/details/80006654