6 Replies Latest reply on Feb 12, 2008 6:35 PM by ssilvert

    FATAL [application] JSF1029

    sansin

      I'm using jboss 4.2.1, jsf 1.2 and riachfaces
      When my project are deploing jboss have error

      19:04:49,776 FATAL [application] JSF1029: The specified InjectionProvider implementation 'org.jboss.web.jsf.integration.injection.JBossInjectionProvider' does not implement the InjectionProvider interface.
      19:04:49,776 WARN [application] JSF1033: Resource injection is DISABLED.
      19:04:50,808 ERROR [STDERR] javax.faces.FacesException: org.ajax4jsf.renderkit.ChameleonRenderKitFactory
      19:04:50,808 ERROR [STDERR] at javax.faces.FactoryFinder.getImplGivenPreviousImpl(FactoryFinder.java:574)
      19:04:50,808 ERROR [STDERR] at javax.faces.FactoryFinder.getImplementationInstance(FactoryFinder.java:460)
      19:04:50,808 ERROR [STDERR] at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:256)
      19:04:50,808 ERROR [STDERR] at com.sun.faces.config.ConfigureListener.configure(ConfigureListener.java:1178)
      19:04:50,808 ERROR [STDERR] at com.sun.faces.config.ConfigureListener.configure(ConfigureListener.java:602)
      19:04:50,808 ERROR [STDERR] at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:496)


      What can I do whith it?

        • 1. Re: FATAL [application] JSF1029
          ssilvert

          This error can happen if you bundle a JSF implementation with your web app. It is probably conflicting with the JSF implementation built into JBoss.

          Please let me know if removing JSF works for you.

          Thanks,

          Stan

          • 2. Re: FATAL [application] JSF1029
            ssilvert

            The only other thing I can think of is if you are setting the com.sun.faces.injectionProvider context-param in your web.xml.

            You could also try commenting out that context-param in deploy/jboss-web.deployer/conf/web.xml.

            Stan

            • 3. Re: FATAL [application] JSF1029
              rstevens

              Stan,

              I found two web.xml files:

              C:\java\jboss-4.2.2.GA\server\default\deploy\jboss-web.deployer\conf\web.xml
              C:\java\jboss-4.2.2.GA\server\all\deploy\jboss-web.deployer\conf\web.xml

              I commented out the section with JBossInjectionProvider in:
              C:\java\jboss-4.2.2.GA\server\default\deploy\jboss-web.deployer\conf\web.xml

              and that solved the problem, but that isn't a good solution.

              You're right--I'm getting two jsf files in my maven dependencies libraries and I have no idea why:
              jsf-api-1.2_04-p02.jar and jsf-impl-1.2_04.jar

              I didn't include them in my pom.xml -- do you have any idea why they are being included?

              I'm using Seam 2.0.1.GA

              Just experimenting, I used the file:
              C:\java\jboss-seam-2.0.1.GA\classes\poms\core.pom

              as my pom.xml file and the problems went away.

              I believe there is a better way to do this:
              1. Start over
              2. Download the JBoss Tools and install them in a new version of eclipse. You get the latest versions of all the JAR files. Somebody went through the trouble to figure out all the correct dependencies.
              3. Follow the instructions in the Seam documentation and re-create your project.
              4. Merge your files in one at a time.

              • 4. Re: FATAL [application] JSF1029
                ssilvert

                 

                "rstevens" wrote:

                I found two web.xml files:

                C:\java\jboss-4.2.2.GA\server\default\deploy\jboss-web.deployer\conf\web.xml
                C:\java\jboss-4.2.2.GA\server\all\deploy\jboss-web.deployer\conf\web.xml

                Only one of those web.xml files can be active. If you are using the "all" configuration then the one under "all" configuration will be active. This only happens if you start JBoss like this:
                run -c all


                "rstevens" wrote:

                I commented out the section with JBossInjectionProvider in:
                C:\java\jboss-4.2.2.GA\server\default\deploy\jboss-web.deployer\conf\web.xml

                and that solved the problem, but that isn't a good solution.

                Agreed. It's a hack.

                "rstevens" wrote:

                You're right--I'm getting two jsf files in my maven dependencies libraries and I have no idea why:
                jsf-api-1.2_04-p02.jar and jsf-impl-1.2_04.jar

                I didn't include them in my pom.xml -- do you have any idea why they are being included?

                I'm using Seam 2.0.1.GA

                It's probably a transitive dependency. You'll need to find out which dependency is using it, and exclude those jars in your pom.xml.

                "rstevens" wrote:

                Just experimenting, I used the file:
                C:\java\jboss-seam-2.0.1.GA\classes\poms\core.pom

                as my pom.xml file and the problems went away.

                I believe there is a better way to do this:
                1. Start over
                2. Download the JBoss Tools and install them in a new version of eclipse. You get the latest versions of all the JAR files. Somebody went through the trouble to figure out all the correct dependencies.
                3. Follow the instructions in the Seam documentation and re-create your project.
                4. Merge your files in one at a time.



                Sounds like a good plan to me.

                Stan

                • 5. Re: FATAL [application] JSF1029
                  rstevens

                   

                  It's probably a transitive dependency. You'll need to find out which dependency is using it, and exclude those jars in your pom.xml.


                  Stan, I bet lots of people will have this problem. How do I figure out which JAR files in my pom.xml depend on the JSF and LOG4J JAR files? I suppose I can eliminate entries one at a time but that will probably create other errors.

                  For a quick and dirty fix, every time I deploy my app to the server, I search the JBoss 4.2.2 server default/deploy folder for LOG4J and delete from my expanded WAR file:

                  log4j-1.2.14.jar

                  I then search that same folder for JSF and delete from my expanded WAR file:
                  2. jsf-impl-1.2_04-p02.jar
                  3. jsf-api-1.2_04-p02.jar


                  During startup, this eliminates the errors:
                  1. For Log4j: ERROR A "org.jboss.logging.appender.FileAppender" object is not assignable to a "org.apache.log4j.Appender" variable.

                  2. For JSF: Exception sending context initialized event to listener instance of class org.jboss.web.jsf.integration.config.JBossJSFConfigureListener
                  java.lang.ClassCastException: com.sun.faces.config.WebConfiguration

                  There must be a better way to find these transitive dependencies. Does anyone know if there is a maven or 3rd party tool to do this?

                  Robert Stevens


                  • 6. Re: FATAL [application] JSF1029
                    ssilvert

                    This is a common problem in Maven. I'm pretty sure there is a command line tool for it, but I use a graphical tool that comes with NetBean's Maven support.

                    Stan