java.io.FileNotFoundException: class path resource ..cannot be opened because it does not exist 15
异常如下:java.io.FileNotFoundException:classpathresource[com/jxust/zjh/model/Account.hbm....
异常如下:
java.io.FileNotFoundException: class path resource [com/jxust/zjh/model/Account.hbm.xml] cannot be opened because it does not exist
在spring中我这样配置<property name="mappingResources">
<list> <value>com/jxust/zjh/model/Account.hbm.xml</value>
</list>
</property>
就报上述错误,Account.hbm.xml确实在此目录下。
但是,我改成这样就运行正常,
<property name="mappingDirectoryLocations">
<list>
<value>classpath:/com/jxust/zjh/model/</value>
</list>
</property>
希望哪位高手解释一下,谢谢了~~ 展开
java.io.FileNotFoundException: class path resource [com/jxust/zjh/model/Account.hbm.xml] cannot be opened because it does not exist
在spring中我这样配置<property name="mappingResources">
<list> <value>com/jxust/zjh/model/Account.hbm.xml</value>
</list>
</property>
就报上述错误,Account.hbm.xml确实在此目录下。
但是,我改成这样就运行正常,
<property name="mappingDirectoryLocations">
<list>
<value>classpath:/com/jxust/zjh/model/</value>
</list>
</property>
希望哪位高手解释一下,谢谢了~~ 展开
5个回答
展开全部
初学Spring在用Resource rs=new ClassPathResource("applicationContext.xml");时老是遇到这个错误。后来发现用
ApplicationContext ctx=new FileSystemXmlApplicationContext("WebContent/WEB-INF/applicationContext.xml");可以解决这个问题。
仔细研究了下:
之所以我用ClassPathResource中找不到applicationContext.xml是因为我的这个xml文件在建工程的时候默认放在了WebContent/WEB-INF/下面,但是用ClassPathResource是在当前目录也就是我这个java文件所在的目下进行寻找。因此把这个xml文件移动到我的src目录下面就ok了。
同理如果是用ApplicationContext ctx=new ClassPathXmlApplicationContext()也是这样是从当前路径寻找,xml文件应在当前目录下。
但是如果用FileSystemXmlApplicationContext呢,它是根据指定的路径来进行寻找,所以要把路径写完整。现在xml路径在src文件夹下。那就要写:ApplicationContext ctx=new FileSystemXmlApplicationContext("src/applicationContext.xml");
这是比较直接简单的写法,后来又查了查发现对于FileSystemXmlApplicationContext也可以采用:
1.加上classpath:前缀(这个时候xml要放在当前目录也就是src下)
ApplicationContext ctx=new FileSystemXmlApplicationContext("classpath:applicationContext.xml");
2.加上file:把路径写全(用这个方法xml可以放任意地方)
ApplicationContext ctx=new ClassPathXmlApplicationContext("ApplicationContext ctx=new ClassPathXmlApplicationContext("file:F:/workspace/SpringExercis/src/applicationContext.xml");
综上,最简单的方法还是老老实实把xml放在src下方便。
ApplicationContext ctx=new FileSystemXmlApplicationContext("WebContent/WEB-INF/applicationContext.xml");可以解决这个问题。
仔细研究了下:
之所以我用ClassPathResource中找不到applicationContext.xml是因为我的这个xml文件在建工程的时候默认放在了WebContent/WEB-INF/下面,但是用ClassPathResource是在当前目录也就是我这个java文件所在的目下进行寻找。因此把这个xml文件移动到我的src目录下面就ok了。
同理如果是用ApplicationContext ctx=new ClassPathXmlApplicationContext()也是这样是从当前路径寻找,xml文件应在当前目录下。
但是如果用FileSystemXmlApplicationContext呢,它是根据指定的路径来进行寻找,所以要把路径写完整。现在xml路径在src文件夹下。那就要写:ApplicationContext ctx=new FileSystemXmlApplicationContext("src/applicationContext.xml");
这是比较直接简单的写法,后来又查了查发现对于FileSystemXmlApplicationContext也可以采用:
1.加上classpath:前缀(这个时候xml要放在当前目录也就是src下)
ApplicationContext ctx=new FileSystemXmlApplicationContext("classpath:applicationContext.xml");
2.加上file:把路径写全(用这个方法xml可以放任意地方)
ApplicationContext ctx=new ClassPathXmlApplicationContext("ApplicationContext ctx=new ClassPathXmlApplicationContext("file:F:/workspace/SpringExercis/src/applicationContext.xml");
综上,最简单的方法还是老老实实把xml放在src下方便。
展开全部
问题的处理方法正确,另外还要注意xsd的版本,引入的spring为2.5.8,那么xml中xsd的版本也要选择2.5,这个问题的回答就完整了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-07-26
展开全部
还有其他的解决办法吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-05-26
展开全部
我顶我也遇到了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
classpath:路径 默认从src下找!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询