myfaces-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Adam Winer" <awi...@gmail.com>
Subject Re: Problem with <tr:inputFile> in Seam 1.2.1GA and Trinidad 1.0.1
Date Sun, 15 Jul 2007 01:11:18 GMT
Fabio,

You need to talk to JBoss and Seam.  The libraries
belong in WEB-INF/lib, and only there, AFAIK.
They absolutely cannot go in two directories - that's
begging for problems.  If it works only if you put it
just in jboss-4.2.0-.GA\server\default\lib, then that's
OK, though I don't know about this.  But if *neither*
of these configurations works, then JBoss appears
to have a big problem.

-- Adam



On 7/14/07, fabio quimbay <fabio.quimbay@gmail.com> wrote:
> Hi, Adam ...
>
> You are right, I put two copies of trinidad-1.0.1 on jboss-4.2.0.GA in my
> WEB-INF\lib and jboss-4.2.0-.GA\server\default\lib, because
> when I deploy the application with this libraries only in the first
> location, I see this error:
>
> ...
> 16:04:31,843 WARN  [ServiceController] Problem starting service
> jboss.j2ee:service=EJB3,module=reel-test.jar
> java.lang.NoClassDefFoundError:
> Lorg/apache/myfaces/trinidad/model/UploadedFile;
>     at java.lang.Class.getDeclaredFields0 (Native Method)
> ...
> ...
> 16:04:41,937 ERROR [[/reel-test]] Exception sending context initialized
> event to listener instance of class
> org.jboss.seam.servlet.SeamListener
> java.lang.RuntimeException: Could not create Component: gestionPlantilla
>     at
> org.jboss.seam.init.Initialization.addComponent(Initialization.java:865)
> ...
> Caused by: java.lang.NoClassDefFoundError:
> Lorg/apache/myfaces/trinidad/model/UploadedFile;
>     at java.lang.Class.getDeclaredFields0 (Native Method)
> ...
>
> it's very strange situation, because the library is in WEB-INF\lib of my
> project, it's for this ... that I must put them in both location. I prove
> my project in jboss-4.0.5-GA and I have the same situation. I don't know
> what else doing. Thx, Adam for your help.
>
>
> On 7/13/07, Adam Winer < awiner@gmail.com> wrote:
> > Any time you have a ClassCastException with two classes
> > that should be just fine, check your classpath - thoroughly.
> > Look for a duplicate copy of trinidad.
> >
> > -- Adam
> >
> >
> > On 7/13/07, fabio quimbay <fabio.quimbay@gmail.com > wrote:
> > > Hi, Adam ...
> > >
> > > Thanks for your answer. About the 2 possibilities, I see the source of
> this
> > > projects (MyFaces / Trinidad) and my project, and I see this ... In the
> > > source class "UploadedFiles" I see this:
> > >
> > >         static public class FixFilename implements UploadedFile,
> > > Serializable
> > >         { ... }
> > >
> > > and its implements is : import
> > > org.apache.myfaces.trinidad.model.UploadedFile . And in
> my
> > > source code, in my class "GestionPlantilla" I see this:
> > >
> > >     public void fileUploaded(ValueChangeEvent event)
> > >     {
> > >         UploadedFile archivo = (UploadedFile) event.getNewValue();
> > >         if (archivo != null) {
> > >             archivoPlantilla = archivo;
> > >         }
> > >     }
> > >
> > > ant its implements is import
> > > org.apache.myfaces.trinidad.model.UploadedFile . Are
> the
> > > same Interfaces. And I be carefull, and I use the same version of
> Trinidad,
> > > 1.0.1 and MyFaces 1.1.5. I only put this:
> > >
> > >     <context-param>
> > >         <!-- Maximum memory per request (in bytes) -->
> > >
> > >
> <param-name>org.apache.myfaces.trinidad.UPLOAD_MAX_MEMORY</param-name>
> > >         <!-- Use 2000K -->
> > >         <param-value>2048000</param-value>
> > >     </context-param>
> > >     <context-param>
> > >         <!-- Maximum disk space per request (in bytes) -->
> > >         <param-name>
> > >
> > > org.apache.myfaces.trinidad.UPLOAD_MAX_DISK_SPACE
> > >         </param-name>
> > >         <!-- Use 20,000K -->
> > >         <param-value>20480000</param-value>
> > >     </context-param>
> > >
> > > but, same ... doesn't work. Thanks for your help.
> > >
> > > On 7/13/07, Adam Winer < awiner@gmail.com> wrote:
> > > > The relevant exception is:
> > > >
> > > > > Caused by: java.lang.ClassCastException :
> > > > >
> > >
> org.apache.myfaces.trinidadinternal.config.upload.UploadedF
> > > > > iles$FixFilename
> > > > >  at
> > > > >
> > >
> com.colconnect.reel.session.GestionPlantilla.fileUploaded
> > > > > ( GestionPlantilla.java:58)
> > > >
> > > > I'm gonna guess that line 58 is:
> > > >
> > > > >  UploadedFile archivo = (UploadedFile) event.getNewValue();
> > > >
> > > > I can guarantee that FixFilename does in fact implement
> > > > org.apache.myfaces.trinidad.model.UploadedFile.
> > > >
> > > > So there's two possibilities:
> > > > - You're importing a different UploadedFile interface (I'm guessing
> > > >   that's the issue)
> > > > - You've got a classpath issue with two versions of Trinidad
> > > >   (less likely).
> > > >
> > > > FWIW, I've always been apalled that ClassCastExceptions don't
> > > > tell you both what it was trying to cast and what it was trying
> > > > to cast *to*.  Would make life easier.
> > > >
> > > > -- Adam
> > > >
> > > >
> > > > On 7/13/07, fabio quimbay <fabio.quimbay@gmail.com > wrote:
> > > > > Greetings ...
> > > > >
> > > > > I have a project with Seam 1.2.1GA and Trinidad 1.0.1 on JBoss
> 4.2.0GA,
> > > > > works good. Many components like <tr:panelPage> work good,
bad when
> I
> > > use
> > > > > <tr:inputFile> doesn't work, because I see this error:
> > > > >
> > > > > 09:30:22,875 ERROR [ExceptionFilter] uncaught exception
> > > > > javax.servlet.ServletException :
> > > > > /plantillas/subirPlantilla.xhtml @22,121
> > > > > valueChangeListener="#{gestionPlantilla.fileUploaded }":
> > > > > javax.ejb.EJBTransactionRolledbackException
> > > > > :
> org.apache.myfaces.trinidadinternal.config.upload.Upl
> > > > > oadedFiles$FixFilename
> > > > >  at
> > > > >
> > >
> javax.faces.webapp.FacesServlet.service(FacesServlet.java
> > > :154)
> > > > > ...
> > > > > ...
> > > > > Caused by: javax.faces.el.EvaluationException:
> > > > > /plantillas/subirPlantilla.xhtml @22,121
> valueChangeL
> > > > >
> > > > > istener="#{gestionPlantilla.fileUploaded }":
> > > > > javax.ejb.EJBTransactionRolledbackException:
> > > > >
> org.apache.myfaces.trinidadinternal.config.upload.Upl
> > > > > oadedFiles$FixFilename
> > > > >  at com.sun.facelets.el.LegacyMethodBinding.invoke
> > > > > (LegacyMethodBinding.java :73)
> > > > > ...
> > > > > ...
> > > > > Caused by:
> javax.ejb.EJBTransactionRolledbackException:
> > > > > org.apache.myfaces.trinidadinternal.config.u
> > > > > pload.UploadedFiles$FixFilename
> > > > >  at org.jboss.ejb3.tx.Ejb3TxPolicy.handleInCallerTx
> > > > > (Ejb3TxPolicy.java:87)
> > > > > ...
> > > > > ...
> > > > > Caused by: java.lang.ClassCastException:
> > > > >
> > >
> org.apache.myfaces.trinidadinternal.config.upload.UploadedF
> > > > > iles$FixFilename
> > > > >  at
> > > > >
> > >
> com.colconnect.reel.session.GestionPlantilla.fileUploaded
> > > > > (GestionPlantilla.java:58)
> > > > > ...
> > > > > ...
> > > > >
> > > > > it was when I return the event.getNewValue() :
> > > > >  public void fileUploaded(ValueChangeEvent event)
> > > > >  {
> > > > >  UploadedFile archivo = (UploadedFile) event.getNewValue();
> > > > >  if (archivo != null) {
> > > > >  archivoPlantilla = archivo;
> > > > >  }
> > > > >  }
> > > > >
> > > > >
> > > > > and my view is like this:
> > > > > ...
> > > > > ...
> > > > > <tr:inputFile label="#{messages[' plantilla.contenido']}"
> > > > > valueChangeListener="#{gestionPlantilla.fileUploaded}" />
> > > > > ...
> > > > > ...
> > > > >
> > > > > Any idea. Thanks, for your help.
> > > > >
> > > > >
> > > > > --
> > > > > fabio quimbay
> > > > > www.fabio.quimbay.name
> > > > > fabio@quimbay.name
> > > >
> > >
> > >
> > >
> > > --
> > > fabio quimbay
> > >  www.fabio.quimbay.name
> > > fabio@quimbay.name
> >
>
>
>
> --
>
> fabio quimbay
> www.fabio.quimbay.name
> fabio@quimbay.name

Mime
View raw message