6 Replies Latest reply on Oct 6, 2008 3:41 PM by Guillaume Jeudy

    Using Seam with Maven 2

    Robert Diaz Newbie

      Hi guys,


      I was wondering if there was ever going to be a maven archetype or plugin that supports Seam. Either that, or is there one out there that will work with the latest version of Seam? I looked through maven's tools and found an archetype that uses Seam, but its for Seam 1.2... Not exactly up to date...


      Thanks,
      Robert

        • 1. Re: Using Seam with Maven 2
          Siarhei Dudzin Apprentice

          Problem with archetypes is that it'll probably need to be a vendor specific due to high(er) complexity of dependencies involved...


          I guess once integration testing is officially supported creating archetypes wont be a big deal (and may even be a logical step).

          • 2. Re: Using Seam with Maven 2
            marx3 Apprentice

            Please vote for this issue. It costs nothing but can at last bring Maven into Seam project

            • 3. Re: Using Seam with Maven 2
              Naresh Bhatia Newbie
              If not an archetype, is there a simple Hello World example that uses Maven 2 and runs on JBoss? The examples included with the Seam distribution mix ant and Maven, and it is very difficult to get a simple example up and running. I have given it a try and I am getting all sorts of exceptions:

              07:51:16.078 INFO  [org.jboss.deployment.EARDeployer] Init J2EE application: file:/D:/jboss-4.2.2/server/default/deploy/helloworld-seam-app-1.0-SNAPSHOT.ear
              07:51:19.015 ERROR [STDERR] log4j:ERROR A "org.jboss.logging.appender.FileAppender" object is not assignable to a "org.apache.log4j.Appender" variable.
              07:51:19.015 ERROR [STDERR] log4j:ERROR The class "org.apache.log4j.Appender" was loaded by
              07:51:19.015 ERROR [STDERR] log4j:ERROR [WebappClassLoader
                delegate: false
                repositories:
                  /WEB-INF/classes/
              ----------> Parent Classloader:
              java.net.FactoryURLClassLoader@1d08e21
              ] whereas object of type
              07:51:19.031 ERROR [STDERR] log4j:ERROR "org.jboss.logging.appender.FileAppender" was loaded by [org.jboss.system.server.NoAnnotationURLClassLoader@f84386].
              07:51:19.031 ERROR [STDERR] log4j:ERROR Could not instantiate appender named "FILE".
              07:51:19.625 FATAL [javax.enterprise.resource.webcontainer.jsf.application] JSF1029: The specified InjectionProvider implementation 'org.jboss.web.jsf.integration.injection.JBossInjectionProvider' does not implement the InjectionProvider interface.
              07:51:19.640 INFO  [javax.enterprise.resource.webcontainer.jsf.application] JSF1048: PostConstruct/PreDestroy annotations present.  ManagedBeans methods marked with these annotations will have said annotations processed.
              07:51:19.859 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/helloworld-seam]] Exception sending context initialized event to listener instance of class com.sun.faces.config.ConfigureListener
              java.lang.LinkageError: loader constraint violation: when resolving interface method "javax.servlet.jsp.JspApplicationContext.addELResolver(Ljavax/el/ELResolver;)V" the class loader (instance of org/jboss/web/tomcat/service/WebAppClassLoader) of the current class, com/sun/faces/config/ConfigureListener, and the class loader (instance of org/jboss/mx/loading/UnifiedClassLoader3) for resolved class, javax/servlet/jsp/JspApplicationContext, have different Class objects for the type javax/el/ELResolver used in the signature
                   at com.sun.faces.config.ConfigureListener.registerELResolverAndListenerWithJsp(ConfigureListener.java:581)
                   at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:211)
                   at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3856)
                   at org.apache.catalina.core.StandardContext.start(StandardContext.java:4361)
                   at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:790)
                   at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:770)
                   at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:553)
              ....
              • 4. Re: Using Seam with Maven 2
                he youlin Novice
                edit org\jboss\seam\init\Initialization,delete 112 line:
                standardDeploymentStrategy.getFiles().add(warRootDirectory);
                • 5. Re: Using Seam with Maven 2
                  Neil Crow Newbie

                  Vote for the archetype request here JBSEAM-2026

                  • 6. Re: Using Seam with Maven 2
                    Guillaume Jeudy Master

                    Hi, I voted for both JIRAs in this thread. I feel like maven2 is a superior build tool and should be preferred to ant by seam-gen.


                    For this reason i'm unable to use seam-gen and leverage great stuff like out-of-the-box integration testing or hot deployment functionality.