Jboss Server迁移导致异常?

时间:2012-09-21 14:31:44

标签: seam jsf-1.2 jboss-4.2.x

我的Jboss Seam应用程序在本地环境中运行良好,但是当我尝试在远程Jboss上部署它时,一些页面重定向到调试页面,具有以下例外:

Exception during request processing:
Caused by javax.servlet.ServletException with message: "Servlet execution threw an exception" 
java.lang.NoSuchMethodError: org.richfaces.component.UIColumn.getFilterMethod()Ljavax/el/MethodExpression;

本地和远程Jboss版本是相同的:4.2.3.GA,我正在使用Seam(两个服务器上的相同版本)2.2.2.Final和Richfaces 3.3.3.Final with JSF 1.2,文件是相同的,我敢肯定,因为我将它们复制到远程服务器,唯一的区别是操作系统,我的本地服务器运行Windows Server 2003 R2 32位,远程服务器运行Ubuntu Server 12.04 64位。 Ubuntu Server和Jboss或其他任何这些工具是否有任何已知问题?

更新:我在Windows Server上使用Oracle的jdk1.6.0_26,在Ubuntu服务器上使用openjdk-7-jdk 7u7-2.3.2-1ubuntu0.12.04.1

3 个答案:

答案 0 :(得分:1)

将表达式语言“EL”升级到应与JSF 1.2一起使用的版本。这看起来是EL 1.2,也许你可以从JBoss AS5安装档案中下载/解压缩它(因为它是EE5的一部分)。

或使用旧安装复制/比较文件。在Linux上cmp file1.jar file2.jar

http://docs.oracle.com/javaee/5/api/javax/el/package-summary.html

这就像确认EL3中提供的方法一样,它随EE5标准设置一起提供。

JBoss AS 4.x不支持EE5。所以你必须手动升级它(在旧的安装中),它通常与JSF一起升级。

之前的JavaEE中没有EL,但之前的Servlet Spec 2.3中有EL(如此处所示)http://docs.oracle.com/javaee/1.4/tutorial/doc/JSPIntro7.html

答案 1 :(得分:0)

看起来UIColumn类上缺少方法getFilterMethod(),所以这可能是RichFaces jar的一个问题。有关如何在两个部署中检查RichFaces版本是否正确,请参阅this page。在任何情况下,使用其他人提到的命令来查找RichFaces jar。

答案 2 :(得分:0)

我在WEB-INF / lib上找到了两个罐子,来自我正在使用的Richfaces的不同版本(4.0)(3.3.3),通过删除它们并重新启动服务器来解决问题。