为了账号安全,请及时绑定邮箱和手机立即绑定

Spring通过classpath找不到jdbc.properties

Spring通过classpath找不到jdbc.properties

未卜先知 2017-01-07 14:39:04
报错:class path resource [src/main/resources/jdbc.properties] cannot be opened because it does not exist()//xml中关于资源文件部分 <context:property-placeholder location="classpath:jdbc.properties"/>jdbc.properties和spring-resouce.xml  我都放在resouces这个目录下面,已经make as resource了但是执行的时候就报错class path resource [src/main/resources/jdbc.properties] cannot be opened because it does not exist然后我把这两个文件全部放在源码目录就可以了(当然要写绝对路径)从报错上看就是class path就是这个resource,怎么会找不到文件?我的test目录下的test resource都是能正常使用的,为什么main下的就不可以如果我单独只把jdbc.properties放在main目录下java下的包中,spring-resouce这个还是放在resource当中(这个时候spring-resouce中<context:property-placeholder location后的地址也同步修正了),但是报错还是class path resource [src/main/resources/jdbc.properties] cannot be opened because it does not exist一定要2个都改才可以最新的结果是,我把这个xml和properties直接都扔到test的resources中就可以了有一点眉目了,我在测试类中加载的xml是放在测试类的resources中的,而源码的xml是放在main下的resources中,看起来不能同时使用这两个
查看完整描述

1 回答

?
大咪

TA贡献785条经验 获得超332个赞

你这个是用maven建的目录还是手动创建的目录?
查看完整回答
反对 回复 2017-01-08
  • 未卜先知
    未卜先知
    应该是手动创建的,因为没看到pom src下面两个目录一个main 一个test main下面是java和resources test下面是java和resources main下面的java放源码的package test下面放对应的目录结构 然后测试的时候,test不是创造一个容器的环境么,我把Spring的配置xml都放在test下的resources,从这里读:super("classpath:spring-annotation.xml"); 然后一直都很正常 现在,要
  • 未卜先知
    未卜先知
    源码文件要读取一个jdbc.properties,我想反正这个是源文件里面要用的,我就把properties对应的xml放在main/resources下了 读xml配置路径<context:property-placeholder location="classpath:jdbc.properties"/> 我觉得这个resources也应该在classpath下的(事实也确实在classpath下) 但是就是找不到(从报错看<context:property-placeholder location="classpath:jdbc.properties"/>这个是找到的,但是后面的jdbc.properties找不到) class path resource [src/main/resources/jdbc.properties] cannot be opened because it does not exist xml和对应的properties都是在同一级目录下的,不应该啊 然后我把这两个文件都扔test的resources下就可以 或者把test/resources中的xml全放到main/resources中,也是可以的
  • 1 回答
  • 0 关注
  • 10998 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信