环境变量classpath,项目中classpath、classpath* 傻傻分不清

这三个都会有自己的概念域,详细罗列下各自的概念域的内容:

1.环境变量的classpath相关:在配置java环境变量时,需要配置以下三个内容:

  • JAVA_HOME:指明JDK安装路径,就是刚才安装时所选择的路径,如 D:\java\jdk1.5.0_08
  • PATH:使得系统可以在任何路径下识别java命令,如:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
  • CLASSPATH:为java加载类(class or lib)路径,只有类在classpath中,java命令才能识别,设为: .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar (要加.表示当前路径) %JAVA_HOME%就是引用前面指定的JAVA_HOME

2.web项目中的classpath:WEB应用中的classpath专指项目WEB-INF/classes和WEB-INF/lib,web容器在启动时会对WEB-INF/classes和WEB-INF/lib目录下的class文件、配置文件以及jar文件进行加载

  • src路径下的文件在编译后会放到WEB-INF/classes路径下吧。默认的classpath是在这里。直接放到WEB-INF下的话,是不在classpath下的。用ClassPathXmlApplicationContext当然获取不到。如果单元测试的话,可以在启动或者运行的选项里指定classpath的路径的。
  • 用maven构建项目时候resources目录就是默认的classpath
    classPath即为java文件编译之后的class文件的编译目录一般为web-inf/classes,src下的xml在编译时也会复制到classPath下
    ApplicationContext ctx = new ClassPathXmlApplicationContext("xxxx.xml");  //读取classPath下的spring.xml配置文件
    ApplicationContext ctx = new FileSystemXmlApplicationContext("WebRoot/WEB-INF/xxxx.xml");   //读取WEB-INF 下的spring.xml文件
  • 解释classes含义: 
    1.存放各种资源配置文件 eg.init.properties log4j.properties struts.xml 
    2.存放模板文件 eg.actionerror.ftl 
    3.存放class文件 对应的是项目开发时的src目录编译文件 
    总结:这是一个定位资源的入口 

     
  • web.xml 配置中classpath: 与classpath*:的区别:

       classpath:只会到你的class路径中查找找文件,若存在相同的package+fileName的file,则会取第一个
       classpath*:不仅包含class路径,还包括jar文件中(class路径)进行查找. 


参考:

1.java项目里classpath具体指哪儿个路径https://blog.csdn.net/u011095110/article/details/76152952/

2.Spring加载resource时classpath*:与classpath:的区别https://blog.csdn.net/kkdelta/article/details/5507799

3.classpath:与classpath*:详细解析https://blog.csdn.net/qq_36501591/article/details/80087984
 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值