0

My Jboss Seam application is working just fine at a local environment, but when i try to deploy it on a Remote Jboss, some pages redirect to the debug page, with the following Exception:

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;

The Local and the remote Jboss versions are the same: 4.2.3.GA, I'm using Seam(same version on both servers) 2.2.2.Final and Richfaces 3.3.3.Final with JSF 1.2, the files are the same, I'm sure because i copied them to the remote server, The only difference is the OS, my local server is running Windows Server 2003 R2 32 bits, and the remote server is running Ubuntu Server 12.04 64 bits. Is there any known problem with Ubuntu Server and Jboss or any other of these tools ?

Update: I'm using Oracle's jdk1.6.0_26 on the Windows Server, and openjdk-7-jdk 7u7-2.3.2-1ubuntu0.12.04.1 on Ubuntu Server

  • What version of el-impl / el-api are you running with ? You need to upgrade this in the AS classpath's to the version that went with JSF 1.2 (if that is the JSF you are using) My guess is you need to confirm EL version 1.2 is installed. – Darryl Miles Sep 21 '12 at 14:36
  • @DarrylMiles I didn't check the EL version before because I never had any trouble with it, and it was uploaded to the remote server, So how do I check the EL version ? –  Sep 21 '12 at 14:41
  • 1
    Search for files `*el-impl* *el-api* *jboss*el* *el*` ... on linux with `find /abspath/jboss.4.2.3.GA -type f -iname "*el*.jar"` .. then unzip (or 'jar -xvf') to directory examine META-INF/MANIFEST.MF – Darryl Miles Sep 21 '12 at 14:42

3 Answers3

1

Upgrade Expression Language 'EL' to the version that should be used in conjunction with JSF 1.2. This looks to be EL 1.2 and maybe you can download/extract it from a JBoss AS5 install archive (since it is part of EE5).

Or copy/compare files with your old installation. On linux cmp file1.jar file2.jar

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

This like confirms the method is available in EL 1.2 which was shipped with EE5 standards set.

JBoss AS 4.x did not support EE5. So you must have upgraded it manually (in the old installation) and it is usually upgraded along with JSF.

There was no EL in previous JavaEE but there was EL in Servlet Spec 2.3 that came before (as shown here) http://docs.oracle.com/javaee/1.4/tutorial/doc/JSPIntro7.html

Darryl Miles
  • 4,576
  • 1
  • 21
  • 20
  • What I still don't understand is why on the Ubuntu server the exception is thrown and in the windows, with the exact same files, it does not happen –  Sep 21 '12 at 16:52
  • Maybe you should downgrade to JDK6 (i.e. download and untar the Sun/Oracle JVM for linux in /opt/). Since when was JBoss AS 4.x certified for use on Java7 ? IIRC AS 5.x barely makes Java6 and AS 6.x barely makes Java7 and AS7.x finally get full and recommended Java7 support. Read release notes http://sourceforge.net/project/shownotes.php?release_id=614346&group_id=22866 JBoss AS 4.2.3 barely support for Java6 as an after thought. – Darryl Miles Sep 21 '12 at 17:00
  • I did the downgrade to Sun's JDK 6 and checked every single .jar file, they all seem ok, What else could it be ? –  Sep 24 '12 at 16:29
0

It looks like the method getFilterMethod() is missing on the UIColumn class, so this probably an issue with the RichFaces jars. See this page for how to check whether the RichFaces version is the right one on both deployments. In any case, use the commands mentioned by others to look for RichFaces jars.

Borstel
  • 128
  • 5
0

I've found two jars at WEB-INF/lib, from a different version(4.0) of the Richfaces I'm using(3.3.3), the problem was solved by removing them and restarting the server.