IDEA中的maven工程老是加载不到类路径下的配置文件

错误提示:
class path resource [src/bean.xml] cannot be opened because it does not exist;

情景:
使用maven构建spring项目,在pom中写好了依赖的坐标,创建UserDao接口和UserDaoImp实现类,通过ClassPathXmlApplicationContext创建核心容器,指定配置参数bean.xml的路径,bean.xml是放在src下。接着运行main方法,报错提示找不到bean.xml。

分析:
检查了一遍bean.xml的名称正确,Project Structure中也没任何感叹号,奇怪,ClassPathXmlApplicationContext明确是在类路径下寻找bean.xml文件,且bean.xml也是放在src下了,为什么还是提示没有该文件存在呢。

解决:
最后,想到maven工程的类路径问题,接着把bean.xml移到resources目录下,运行正常了,意思就是ClassPathXmlApplicationContext在类路径下寻找到了该bean.xml文件。那可以说明,直接把bean.xml放在src目录,并不是放在类路径下。

错误截图
在这里插入图片描述
把bean.xml直接放在src根目录,翻译后的类路径目录
在这里插入图片描述

把bean.xml放在resource目录下,翻译后的类路径目录
在这里插入图片描述
小结
回顾下,maven工程翻译后的目录与在IDEA目录做对比,有什么变化呢。同时,根据bean.xml放在src根目录下和放在resource目录下作对比,可以发现,只有放在resource目录下的文件翻译后,才会被放在class目录下。

补充:
Web 工程和其编译结果的目录结构对比见下图:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值