JAVA-classpath理解和使用(classpath: classpath*:)

介绍

        classpath是java运行时环境搜索类和其他资源文件(比如jar\zip等资源)的路径。可以通过JDK工具(比如javac命令、java命令)后面的-classpath 参数设置classpath。

重点:

        1.使用-classpath:当你要编译或执行的类引用了其它的类,但被引用类的.class文件不在当前目录下时,就需要通过-classpath来引入类;

        2.指定路径:当你要编译的类所在的目录和你执行javac命令的目录不是同一个目录时,就需要指定源文件的路径(CLASSPATH是用来指定.class路径的,不是用来指定.java文件的路径的) 

        3.classpath就是class的path,也就是类文件(*.class)的路径

理解

        src/main/下的java和resources这两个文件夹都被编译打包到了classes/目录下,它就是我们要找的classpath。(classpath指向的就是打war/jar包之后的classes的位置)

        注意: 在idea开发工具中,可以指定src下面的其他文件夹,如common、test文件夹(同main文件夹同级)设置为source root,这样的文件夹也会被编译到classpath中(在classes目录下),所以会有一些项目目录结构奇形怪状,非常态化,但是万变不离其宗,希望大家能够深刻理解到这个classpath的意义。

使用

 1. JAVA获取classpath路径,调用方式        

this.getClass().getResourceAsStream(String name);
获取流,静态化方法中则使用
ClassLoader.getSystemResourceAsStream (String name); 

        上述方式大家大多数用于读取路径下的静态配置文件properties等,如jdbc.properties

        此处本人喜欢的一个工具包hutool.jar,有兴趣的可以去看下hutool。里面有强大的基础工具封装,可以直接通过Props类获取资源文件。

2.使用classpath:这种前缀,就只能代表一个文件;使用classpath*:这种前缀,则可以代表多个匹配的文件。        

用法1:classpath:xxxx.xml  (匹配单文件)

用法2:classpath*:**/mapper/*Mapper.xml (匹配多文件)

        

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值