首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > XML SOAP >

SpringMVC 工程打成jar包后,hbm.xml文件无法加载,action无法映射的有关问题

2013-03-29 
SpringMVC 工程打成jar包后,hbm.xml文件无法加载,action无法映射的问题? ? ?最近由于项目平台上开发新的子

SpringMVC 工程打成jar包后,hbm.xml文件无法加载,action无法映射的问题

? ? ?最近由于项目平台上开发新的子项目,发现平台结构越来越复杂,非常难看,也不便于维护。于是乎将平台基础部分进行了打包,扔到lib里面去。

? ? ?jar包打好了,启动tomcat测试,启动时就报错了,说无法创建hibernate的sessionfactory,不可能啊,我没打包之前都是好的,难道打包就不能用了?检查,发现是扫描hbm.xml映射文件失败,于是检查hibernate配置文件,有这么几行代码:

?

<property name="mappingDirectoryLocations"><list><value>classpath:com/per/domain</value></list></property>

?查阅mappingDirectoryLocations的相关资料,有这么一些描述:

?

<property name="mappingJarLocations"><list><value>WEB-INF/lib/comm-base.jar</value></list></property><property name="mappingDirectoryLocations"><list> <value>classpath:com/per/**/domain</value></list></property>

?重启tomcat ,好了,这下没报错了。不过新的问题来了,原来可以访问的网页现在访问报404错误。奇怪了,再google一把,原来是jar包的问题,跟这位仁兄是一样的问题:

?

http://xinglu.iteye.com/blog/1457029 写道

?

近期在用spring3做一个项目,用到了里面的一个自动扫描组件的特性.但是工程分为了好多个小项目,有个统一的开发平台,这个平台的支撑类会被我做成一个jar包被其它几个子工程引用.

开发的时候使用的是工厂引用工厂的方式,在eclipse里面的classpath里面把该平台工厂引入即可,避免了每次修改了平台代码都要重新打包的问题.这个方法不是在web project类型,对于web-project,还是需要沿用老办法,即打成jar包,然后让web-project引用进来.

这时发现个问题,就是平台下junit测试正常的一些spring bean,到了web-project里面发现无法关联到了.
搞了很久,也上网查了很多资料,一开始以为是要修改<context:component-scan >里面的resource-pattern属性,后来改来改去都解决不了问题.

最后发现一个问题,是我们的eclipse自带的jar打包程序,默认打包的时候有个选项<Add directory entries>没有勾选,只要勾选了,就完全没有问题了,无须再对<context:component-scan >进行任何修改了.

罪恶的<Add directory entries>选项啊!

?

好了,重新打包,再试,ok,问题解决。

?

小细节可真多啊~记录在此,以备后查吧。

热点排行