使用s2sh框架,启动tomcat与junit单元测试出现冲突的问题

gimm667 2011-07-03 12:00:55
我在做单元测试的时候,用的是FileSystemXmlApplicationContext获取spring上下文
new FileSystemXmlApplicationContext(new String[]{"WebRoot/WEB-INF/conf/spring/spr-controller.xml","WebRoot/WEB-INF/conf/spring/spr-dataSource.xml"});
因为我把spring配置文件放在WEB-INF/conf/spring目录下,所以不能用ClasspathXmlApplicationContext
这样的话,单元测试时spring可以正常启用的
注意这时spring中的hibernate映射文件就要写成:WebRoot/WEB-INF/conf/hibernate这样spring才能找到hibernate映射文件

但是hibernate映射文件的路径这样写的话,启动tomcat服务时,就找不到映射文件的路径了,找到这个怎么解决吗?
Caused by: java.lang.IllegalArgumentException: Mapping directory location [ServletContext resource [/E:/jimmy/Apache Tomcat 6.0.18/webapps/his//WEB-INF/conf/hibernate]] does not denote a directory

请教下怎么写hibernate映射文件的路径,才能又能正常junit单元测试,又能正常启动tomcat, 谢谢各位指教
...全文
141 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
jason941983 2011-07-26
  • 打赏
  • 举报
回复
哦,看错了。你放在了WEB-INF下。
不好意思。
jason941983 2011-07-26
  • 打赏
  • 举报
回复
不是,你完全可以根据类路径去查找文件,例如:
String[] arr = new String[]{"applicationContext-beans.xml","applicationContext-common.xml"};
applicationContext = new ClassPathXmlApplicationContext(arr);

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧