war包在JBoss和Tomcat发布时不一样

欢乐的尼美 2013-12-29 07:54:59
同一个war包:spring MVC+Hibernate在Tomcat7发布一切正常。当在JBoss7发布时,有两个问题:

1、在DAO层通过@Resource注入Hibernate的SessionFactory时,非要set开头的方法名才可以。但在Tomcat7中只要有@Resource这个注解就可以注入。
2、JBoss7中com.springsource.org.codehaus.jackson.mapper-1.0.0.jar这个包有冲突,删掉了才正常。

求指点迷津。
...全文
246 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
tony4geek 2014-01-09
  • 打赏
  • 举报
回复
Tomcat7 中 和 JBoss 对 jsp 编译解析对应的jar 也不一样。很有可能出现一种可以,一种冲突。
静山晚风 2014-01-09
  • 打赏
  • 举报
回复
2、JBoss7中com.springsource.org.codehaus.jackson.mapper-1.0.0.jar这个包有冲突,删掉了才正常。 第二条包冲突删除了很正常啊,我也碰到过类似问题,删掉就好了,不然程序不知道该引用那个包下的类了,因为方法相同。 第一个确定下是不是 jdk版本的问题,
ksoong 2014-01-08
  • 打赏
  • 举报
回复
>>> 1、在DAO层通过@Resource注入Hibernate的SessionFactory时,非要set开头的方法名才可以。但在Tomcat7中只要有@Resource这个注解就可以注入。 这个我觉得您应该多比对比对两边的测试环境,确保使用Hibernate等的版本相同,再有,JBoss 7默认JPA实现为HIbernate 4版本,毕竟这是Hibernate自己实现,JBoss和Tomcat只是一个运行容器而已。 >>> JBoss7中com.springsource.org.codehaus.jackson.mapper-1.0.0.jar这个包有冲突,删掉了才正常。 这个有可能,主要是类加载机制不一起,Tomcat是传统的模式,启动时加载所有可能的jar,包括你部署应用中的jar,JBoss 7使用模块化的类加载机制,它是根据依赖关系加载jar包,详细关于JBoss 7模块化类加载机制:https://access.redhat.com/site/documentation/en-US/JBoss_Enterprise_Application_Platform/6.1/html/Development_Guide/chap-Class_Loading_and_Modules.html

81,090

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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