今天写个简单的WEB工程,把war包布署在JBOSS中.结果折腾了半天,才弄好.
一开始布署上,启动时报这个错:
ClassCastException: com.sun.faces.config.WebConfiguration cannot be cast to com.sun.faces.config.WebConfiguration
..........
在网上查,说是因为jsf-api.jar 和jsf-impl.jar版本与JBOSS的不同,如果没使用的话,直接删除即可,这两个JAR是eclipse建工程随j2ee自动加入的,实际没用,于是删除它们,再布署,结查报这个错:
ClassNotFoundException: com.sun.faces.util.ReflectionUtils$ReflectionUtilsListener
...........
不知为何,jboss还非要加载这两个JAR,于是我又加上,还报第一个错.
是不是jar包的版本不对?于是找了两个最新版本的jar,还报第一个错.
我在jboss里找这两个jar包,发现4.0.2版本没有它们; 5.1.0版本的有,结果还报第一个错.
我们的发布环境使用的是jboss 4.3.0,在它这个路径JBOSS_HOME\server\default\deploy\jbossweb.sar\jsf-libs 找到了这两个JAR包.于是用它们替换到我的jar包中,启动,正常了.
jboss不同版本的jsf-api.jar和jsf-impl.jar的版本也不一样,估很多应用如果升级了jboss容器后,都会报这个错误.把我的经历写在这里,给大家以提醒.
阅读(3781) | 评论(0) | 转发(0) |