classpath:/ 与 classpath*:/ 引发的问题总结
来源:互联网 发布:java notifyall 编辑:程序博客网 时间:2024/06/16 16:10
概念介绍:
classpath:是指WEB-INF文件夹下的classes目录
tomcat-7.0.50 目录结构及作用
bin: 存放tomcat的命令
conf:存放tomcat的一些配置文件
lib:存放tomcat运行需要加载的jar包
logs:存放tomcat运行过程中产生的日志文件
temp:存放tomcat运行过程中产生的临时文件
webapps:存放应用程序
work:存放tomcat运行时的编译后文件,例如jsp编译后的文件
classes:是指项目部署后存放class文件xml文件jar包的文件夹
以tomcat部署项目为例 文件路径 E:\tools\apache-tomcat-6.0.44\webapps\项目name\WEB-INF\classes
问题说明:
在spring配置文件中,通过 classpath*:/xxx.xml 引入了 外部配置文件 然后在运行junit单元测试的时候 报错xxx.xml 配置文件中的一个bean 注入失败;
classpath与 classpath* 区别
classpath 是精确查找 classpath* 是模糊查找
classpath : 只会到你的class路径中查找文件。
classpath* : 不仅包含class路径,还包括jar文件中(class路径)进行查找。
classpath*:需要遍历所有的classpath,所以加载速度很慢;当项目中有多个classpath路径,并同时加载多个classpath路径下的文件,*就会加载所有classpath下的文件
不加*只会加载第一个classpath路径下的文件。
我的问题:
问题的本质是 通过手动加载上下文 没有找到目标类,也就是说目标类并没有被加载。
没有被加载的原因是 spring引入外部文件的时候 外部文件名称写错了。
总结:
1、不需要*的不要加,不然会影响报错信息导致不能快速的找到问题所在(当我将*去掉的时候,很明显的报错说 文件加载失败,原因是目标文件不存在)
2、文件要有同意的命名规范,可以防止因为习惯问题导致的错误。
- classpath:/ 与 classpath*:/ 引发的问题总结
- classpath 与 classpath* 的区别
- classpath*:与classpath:的区别
- classpath与classpath*的区别
- classpath*:与classpath:的区别
- classpath: 与classpath*:的区别
- classpath*:与classpath:的区别
- 关于java的classpath问题的总结
- Spring中classpath和classpath*的问题
- Spring classpath*:与classpath 的区别
- Spring中classpath*:与classpath:的区别
- Spring下classpath与classpath*的区别
- Spring加载classpath与classpath*的区别
- spring中classpath与classpath*的区别
- classpath 和 classpath* 的区别与运用
- classpath:与classpath*:分析
- classpath
- classpath
- 最顶级的AI科学家正在离开大学:不止财务自由的诱惑
- 复现与复现图笔记(1)
- 结构体字节对齐
- 导航传值到Fragment(基本应用)
- 大数据早报:「药研社」获数千万元Pre-A轮融资 科学家用VR处理高分辨率影像数据(11.21)
- classpath:/ 与 classpath*:/ 引发的问题总结
- leetcode 365. Water and Jug Problem
- 学习python过程遇到的问题与记录
- C#增删改查操作Access数据库之二(数据库的增加)
- tomcat下载安装教程
- mysqldump定时备份脚本
- SSD(Single Shot MultiBox Detector)笔记
- jsp 网站 mysql 数据库连接 tomcat 服务器配置server
- Docker-ce+Ubuntu 16.04环境配置