8 Replies Latest reply on Mar 20, 2008 12:32 AM by pmuir

    Problems with JBoss EL after migration to Seam 2.0

    allfaellig

      Hi all


      I am currently migrating from Seam 1.2 to 2.0 - JBoss 4.0.5. I've followed the steps in
      http://viewvc.jboss.org/cgi-bin/viewvc.cgi/jboss/jboss-seam/seam2migration.txt?revision=1.13
      and now I'm almost there. Almost...


      Now I'm facing a problem which I couldn't solve even after a day of intensive googling. It seems that Seam's enhanced EL
      is just not working for me.


      Here are the different things I've tried and the exceptions I got:


      1.) I've read in several threads that I need to remove el-*.jar from the classpath. If I do that the custom textfield components we've written do not compile anymore. The error message is:


      The type javax.el.ValueExpression cannot be resolved. It is indirectly referenced from required .class files



      I've tried to temporarily remove this component just to see if it basically works. Well...it doesn't. I'm just getting another
      error:


      com.sun.facelets.tag.TagAttributeException: /header.xhtml @25,95 action="#{localeSelector.selectLanguage('de')}" Error Parsing: #{localeSelector.selectLanguage('de')}
      ...
      Caused by: com.sun.el.parser.ParseException: Encountered "(" at line 1, column 32.
      Was expecting one of:
      ...



      The mentioned custom component is a subclass of HtmlInputText.


      2.) To solve the compilation problem I had to re-add el-api.jar to the classpath. Now the textfield component compiles well
      but I'm getting another exception when I try to deploy the application:



      java.lang.ClassCastException: com.sun.el.ExpressionFactoryImpl




      3.) I've tried several combinations of the following:



      • add/remove jboss-el.jar to/from the classpath

      • add/remove el-ri/el-api jars to/from classpath

      • add/remove the el-resolver tag in the faces-config



      As it seems the rest of the application should work. The console shows me that all components are instantiated, seam and jsf
      are initialized, it's just the EL part that's not working


      I just don't see what I'm missing. You're probably going to tell me that I'm missing some obvious details or that I've
      missed some important manual/tutorial for this issue. When I'm googling it seems that noone else has this problem, so it's
      kind of obvious that I'm missing some trivial thing.


      Does anyone have a hint? I gladly take any advice/hint you can give me. I do need these custom textfield components but I
      don't understand why they require el-api.jar in the classpath.


      Please don't hit me if this is a stupid question, but I'm desperate. I hope it's not too obvious that I'm a Seam newbie :-)
      I didn't want to pollute the forum with useless stacktraces. But I can post them if you need them, as well as any other
      information you might need.


      Thanks a lot!


      Peter