浏览 2873 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-05-10
1.ws61只能完全支持j2ee1.4标准而不支持j2ee1.5,需要等待ws7.0出来才支持,虽然现在有ejb3的pack包,甚至传闻会出j2ee1.5pack,但是只是推荐开发环境使用(服了,开发环境我还用它),这样jstl,jsp,jsf的统一EL不能用了,jsf1.2规范不能用了,seam2.0不能用了,恼火! 2.我习惯使用myfaces1.1.5和tomahawk-1.1.6,都是基于jsf1.1规范,并使用seam1.2进行展现层管理!但是正常部署居然websphere6.1不兼容,更恼火! 不兼容有两个方面: 1.myfaces不兼容,因为ibm有自己的jsf-ibm实现,而且将此加入到了com.ibm.ws.webcontainer_2.0.0.jar当中,成了ibm websphere web环境的必须标准,呵呵,更狠! 2.seam和ibm的jsf实现不兼容,不兼容的地方是会在启动处抛出java.lang.ClassCastException: org.jboss.seam.jsf.SeamApplication11 incompatible with com.sun.faces.application.ApplicationImpl seam的领头人gavin.king这样说: Yes, they should not do that typecast, that is a bug in their JSF impl. 呵呵gavin说那是他们的一个bug。 那么也就是说使用ibm的jsf实现的项目是使用不了seam了,只能用myfaces实现和标准实现了! 废话了半天其实解决的方法很简单: 就是进入企业应用-》你部署的应用-》模块管理-》你的war-》更改类加载顺序的选择项,让你的war应用加载高于父环境的类加载。 重启你的应用,myfaces就可以正确使用了 但是这样做有两个问题: 1.ibm的jsf组件就不用想了。 2.和jsf扩展的框架比如seam就需要部署在war中启动,myfaces-api,myfaces-impl.jar, seam.jar,seam-ui.jar等就要放在WEB-INF/lib下面,那么使用ear方式部署的项目会非常难受! 参考文档: myfaces部署:http://wiki.apache.org/myfaces/Websphere_Installation jboss seam bug:http://www.jboss.com/index.html?module=bb&op=viewtopic&t=107948&postdays=0&postorder=asc&start=10 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-05-10
2.和jsf扩展的框架比如seam就需要部署在war中启动,myfaces-api,myfaces-impl.jar, seam.jar,seam-ui.jar等就要放在WEB-INF/lib下面,那么使用ear方式部署的项目会非常难受!
I don't understand. What's your pain? |
|
返回顶楼 | |
发表时间:2008-05-11
如果部署在上层,那么应用不管如何顺序启动,你的jsf相关类会和ibm-jsf类在一个启动的加载级别,必然会先加载ibm-jsf的类路径,也就先初始化ibm的jsf上下文,it's my pain ...
|
|
返回顶楼 | |