classpath路径浅谈

avatar 2017年08月15日15:36:29 1 3348 views
博主分享免费Java教学视频,B站账号:Java刘哥 ,长期提供技术问题解决、项目定制:本站商品点此
【01】 src路径下的文件在编译后会放到WEB-INF/clases路径下吧。默认的classpath是在这里。直接放到WEB-INF下的话,是不在classpath下的。用ClassPathXmlApplicationContext当然获取不到。

【02】 如果单元测试的话,可以在启动或者运行的选项里指定classpath的路径的。用maven构建项目时候resource目录就是默认的classpath

【03】 classPath即为java文件编译之后的class文件的编译目录一般为web-inf/classes,src下的xml在编译时也会复制到classPath下





比如我们这里 web.xml 部分代码如下

1、 / 表示 web根目录

  1. <init-param>
  2.     <param-name>contextConfigLocation</param-name>
  3.     <param-value>/springmvc.xml</param-value>
  4. </init-param>

/springmvc.xml 的 / 表示 web目录(或者webRoot,webApp)



我们的 springmvc.xml 只有放在如上图位置(web的根目录),服务器才不会报错,程序得以正常运行


2、默认也是在 web根目录

  1. <init-param>
  2.     <param-name>contextConfigLocation</param-name>
  3.     <param-value>springmvc.xml</param-value>
  4. </init-param>



我们这里不加 / 的效果和加 /是 一样的,springmvc.xml都是要放在 web的根目录,即和第一种相同


3、classpath: 默认指向是 src 目录

  1. <init-param>
  2.        <param-name>contextConfigLocation</param-name>
  3.        <param-value>classpath:com/liuyanzhao/ssm/springmvc.xml</param-value>
  4. nit-param>



classpath 的一般指的是 src 目录,com.liuyanzhao.ssm是包名,写路径的时候是com/liuyanzhao/ssm/springmvc.xml

如果我们把springmvc.xml放到src根目录,只需要写 classpth:springmvc.xml 啦


4、classpath: 也可以时其他 Source Folder


我们在项目里新建一个 Source Folder(注意,不是普通的文件夹),然后装个文件夹也加入了环境。
  1. <init-param>
  2.       <param-name>contextConfigLocation</param-name>
  3.       <param-value>classpath:spring/springmvc.xml</param-value>
  4.   </init-param>







注意:在多个classpath中存在同名资源,都需要加载, 

          那么用classpath:只会加载第一个





本文链接:https://liuyanzhao.com/5910.html
历史上的今天
八月
15日
  • 微信
  • 交流学习,资料分享
  • weinxin
  • 个人淘宝
  • 店铺名:言曌博客咨询部

  • (部分商品未及时上架淘宝)
avatar

发表评论

avatar 登录者:匿名
匿名评论,评论回复后会有邮件通知

  

已通过评论:0   待审核评论数:0