0

I'm trying to upgrade a small application from JSF 1.2, Richfaces 3.3.3 to JSF 2.0.2 and RF 4.3.7. It seems to me that i did all configurations but when i run the application with jetty i have this error :

    juil. 17, 2015 12:21:12 PM com.sun.faces.config.ConfigureListener contextInitialized
INFOS: Initialisation de Mojarra 2.0.2 (FCS b10) pour le contexte '/template'
[WARNING] failed org.mortbay.jetty.plugin.Jetty6PluginWebAppContext@2dafae61{/template,D:\workspace\catalog-jsf2\catalog-jsf2-web\src\main\webapp}: java.lang.NoSuchMethodError: org.richfaces.log.RichfacesLogger.getLogger()Lorg/slf4j/Logger;
[ERROR] EXCEPTION 
java.lang.NoSuchMethodError: org.richfaces.log.RichfacesLogger.getLogger()Lorg/slf4j/Logger;
    at org.ajax4jsf.renderkit.ChameleonRenderKitFactory.<clinit>(ChameleonRenderKitFactory.java:49)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
    at javax.faces.FactoryFinder.getImplGivenPreviousImpl(FactoryFinder.java:586)
    at javax.faces.FactoryFinder.getImplementationInstance(FactoryFinder.java:472)
    at javax.faces.FactoryFinder.access$400(FactoryFinder.java:139)
    at javax.faces.FactoryFinder$FactoryManager.getFactory(FactoryFinder.java:796)
    at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:306)
    at com.sun.faces.config.processor.FactoryConfigProcessor.verifyFactoriesExist(FactoryConfigProcessor.java:303)
    at com.sun.faces.config.processor.FactoryConfigProcessor.process(FactoryConfigProcessor.java:220)
    at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:335)
    at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:223)
    at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:549)
    at org.mortbay.jetty.servlet.Context.startContext(Context.java:136)
    at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1282)
    at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:518)
    at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499)
    at org.mortbay.jetty.plugin.Jetty6PluginWebAppContext.doStart(Jetty6PluginWebAppContext.java:115)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
    at org.mortbay.jetty.plugin.AbstractJettyRunMojo.restartWebApp(AbstractJettyRunMojo.java:458)
    at org.mortbay.jetty.plugin.AbstractJettyRunMojo$1.filesChanged(AbstractJettyRunMojo.java:419)
    at org.mortbay.util.Scanner.reportBulkChanges(Scanner.java:486)
    at org.mortbay.util.Scanner.reportDifferences(Scanner.java:352)
    at org.mortbay.util.Scanner.scan(Scanner.java:280)
    at org.mortbay.util.Scanner$1.run(Scanner.java:232)
    at java.util.TimerThread.mainLoop(Timer.java:555)
    at java.util.TimerThread.run(Timer.java:505)
[WARNING] org.mortbay.jetty.plugin.AbstractJettyRunMojo$1@10e81646 failed on '[D:\workspace\catalog-jsf2\catalog-jsf2-web\pom.xml]

i'm not sure but i think there's an uncompatibilty between RF4.3.7 and slf4j 1.5.10.

pom.xml :

  <?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <!-- ======================================================== -->
    <!-- Parent -->
    <!-- ======================================================== -->
    <parent>
        <groupId>com.companyname.application</groupId>
        <artifactId>application-web-parent-jsf2</artifactId>
        <version>trunk-SNAPSHOT</version>
    </parent>

    <!-- ======================================================== -->
    <!-- Project configuration -->
    <!-- ======================================================== -->
    <artifactId>catalog-jsf2-web</artifactId>
    <packaging>war</packaging>

    <name>${project.name.prefix} - ${project.artifactId}</name>
    <description>UI project for application webapp template</description>

    <!-- =================================================== -->
    <!-- Project properties -->
    <!-- =================================================== -->

    <!-- =================================================== -->
    <!-- Project dependencies -->
    <!-- =================================================== -->
    <dependencies>

        <!-- application dependencies -->
        <dependency>
            <groupId>com.companyname.application</groupId>
            <artifactId>application-common-web-resources</artifactId>
        </dependency>

        <dependency>
            <groupId>catalog-jsf2</groupId>
            <artifactId>catalog-jsf2-core</artifactId>
            <version>${project.version}</version>
        </dependency>

        <dependency>
            <groupId>com.companyname.application</groupId>
            <artifactId>application-common-web-api</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>javax.el</groupId>
                    <artifactId>el-api</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>javax.el</groupId>
                    <artifactId>el-impl</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>javax.el</groupId>
                    <artifactId>el-ri</artifactId>
                </exclusion>
                <exclusion>
                    <artifactId>servlet-api</artifactId>
                    <groupId>javax.servlet</groupId>
                </exclusion>
                <exclusion>
                    <artifactId>jsf-api</artifactId>
                    <groupId>javax.faces</groupId>
                </exclusion>
                <exclusion>
                    <artifactId>jsf-impl</artifactId>
                    <groupId>javax.faces</groupId>
                </exclusion>
                <exclusion>
                    <artifactId>richfaces-impl</artifactId>
                    <groupId>org.richfaces.framework</groupId>
                </exclusion>
                <exclusion>
                    <artifactId>richfaces-api</artifactId>
                    <groupId>org.richfaces.framework</groupId>
                </exclusion>
                <exclusion>
                    <artifactId>richfaces-ui</artifactId>
                    <groupId>org.richfaces.ui</groupId>
                </exclusion>
            </exclusions>
        </dependency>

        <!-- Spring -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-config</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-taglibs</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context-support</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-support</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>commons-logging</groupId>
                    <artifactId>commons-logging</artifactId>
                </exclusion>
            </exclusions>
        </dependency>


        <!-- Gson: Java to Json conversion -->
        <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
            <version>2.2.2</version>
        </dependency>

        <!-- Apache CXF dependencies -->
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-frontend-jaxws</artifactId>
        </dependency>

        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-transports-http</artifactId>
        </dependency>

    </dependencies>

    <!-- =================================================== -->
    <!-- Project builds -->
    <!-- =================================================== -->
    <build>
        <finalName>${project.artifactId}</finalName>
        <!-- Generate the project WAR and an attached JAR with Java classes -->
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-eclipse-plugin</artifactId>
                <version>2.8</version>
                <configuration>
                    <additionalProjectFacets>
                        <wtpversion>2.0</wtpversion>
                    </additionalProjectFacets>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <configuration>
                    <attachClasses>true</attachClasses>
                </configuration>
            </plugin>

            <!-- Retrieve and copy common web resources -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <executions>
                    <execution>
                        <id>copy-and-unpack</id>
                        <phase>initialize</phase>
                        <goals>
                            <goal>unpack</goal>
                        </goals>
                        <configuration>
                            <artifactItems>
                                <artifactItem>
                                    <groupId>com.companyname.application</groupId>
                                    <artifactId>application-common-web-resources</artifactId>
                                    <version>${project.version}</version>
                                    <type>jar</type>
                                    <overWrite>true</overWrite>
                                    <outputDirectory>src/main/webapp/resources/</outputDirectory>
                                    <includes>**/fonts/*</includes>
                                    <excludes>META-INF/</excludes>
                                </artifactItem>
                                <artifactItem>  
                                    <groupId>com.companyname.application</groupId>
                                    <artifactId>application-common-web-resources</artifactId>
                                    <version>${project.version}</version>
                                    <type>jar</type>
                                    <overWrite>true</overWrite>
                                    <outputDirectory>src/main/webapp/</outputDirectory>
                                    <includes>*.xhtml</includes>
                                </artifactItem>
                            </artifactItems>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

            <!-- Use Jetty as Web container for webapp -->
            <plugin>
                <groupId>org.mortbay.jetty</groupId>
                <artifactId>maven-jetty-plugin</artifactId>
                <version>6.1.26</version>
                <configuration>
                    <webAppSourceDirectory>src/main/webapp/</webAppSourceDirectory>
                    <contextPath>/template</contextPath>
                    <scanIntervalSeconds>5</scanIntervalSeconds>
                    <connectors>
                        <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
                            <port>8092</port>
                            <maxIdleTime>60000</maxIdleTime>
                        </connector>
                    </connectors>
                    <useTestClasspath>false</useTestClasspath>
                    <scanTargetPatterns>
                        <scanTargetPattern>
                            <directory>${basedir}/src/main/</directory>
                            <includes>
                                <include>**/*.properties</include>
                            </includes>
                        </scanTargetPattern>
                    </scanTargetPatterns>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>com.sun.faces</groupId>
                        <artifactId>jsf-api</artifactId>
                        <version>${faces.jsf.version}</version>
                    </dependency>
                    <dependency>
                        <groupId>com.sun.faces</groupId>
                        <artifactId>jsf-impl</artifactId>
                        <version>${faces.jsf.version}</version>
                    </dependency>
                    <dependency>
                        <groupId>org.richfaces.core</groupId>
                        <artifactId>richfaces-core-api</artifactId>
                        <version>${richfaces.version}</version>
                    </dependency>
                    <dependency>
                        <groupId>org.glassfish.web</groupId>
                        <artifactId>el-impl</artifactId>
                        <version>2.2</version>
                    </dependency>
                    <dependency>
                        <groupId>javax.el</groupId>
                        <artifactId>el-api</artifactId>
                        <version>2.2</version>
                    </dependency>
                </dependencies>
            </plugin>

        </plugins>
    </build>

</project>

And parent :

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.compName.appName</groupId>
  <artifactId>appName-web-parent-jsf2</artifactId>
  <version>trunk-SNAPSHOT</version>
  <packaging>pom</packaging>
  <name>${project.name.prefix} - ${project.artifactId}</name>
  <description>Root POM for all appName Web projects with JSF2
</description>
  <parent>
    <groupId>com.compName.appName</groupId>
    <artifactId>appName-parent</artifactId>
    <version>trunk-SNAPSHOT</version>
  </parent>

    <!-- =================================================== -->
    <!-- Project properties -->
    <!-- =================================================== -->
    <properties>
        <javassist.version>3.14.0-GA</javassist.version>
        <hsqldb.version>1.8.0.10</hsqldb.version>
        <richfaces.version>4.3.7.Final</richfaces.version>
        <servlet.version>3.1.0</servlet.version>
        <servlet.jsp.version>2.0</servlet.jsp.version>
        <servlet.jsp.jsp.version>2.1</servlet.jsp.jsp.version>
        <servlet.jstl.version>1.2</servlet.jstl.version>
        <faces.jsf.version>2.0.2</faces.jsf.version>
        <selenium.version>2.12.0</selenium.version>
        <xalan.version>2.7.0</xalan.version>
        <h2.version>1.3.158</h2.version>
        <fiji.version>1.0.2.111003</fiji.version>
        <spring.security.version>3.0.5.RELEASE</spring.security.version>
    </properties>

    <!-- ======================================================== -->
    <!-- Project dependencies -->
    <!-- ======================================================== -->
    <dependencyManagement>
        <dependencies>
            <!-- appName dependencies -->
            <dependency>
                <groupId>com.compName.appName</groupId>
                <artifactId>appName-common-web-resources</artifactId>
                <version>${appName.dependencies.version}</version>
            </dependency>
            <dependency>
                <groupId>com.compName.appName</groupId>
                <artifactId>appName-common-web-api</artifactId>
                <version>${appName.dependencies.version}</version>
            </dependency>

            <!-- Spring dependencies -->
            <dependency>
                <groupId>org.springframework.security</groupId>
                <artifactId>spring-security-web</artifactId>
                <version>${spring.version}</version>
            </dependency>

            <dependency>
                <groupId>org.springframework.security</groupId>
                <artifactId>spring-security-config</artifactId>
                <version>${spring.version}</version>
            </dependency>

            <dependency>
                <groupId>org.springframework.security</groupId>
                <artifactId>spring-security-taglibs</artifactId>
                <version>${spring.version}</version>
            </dependency>

            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-web</artifactId>
                <version>${spring.version}</version>
            </dependency>

            <!-- Database dependencies -->
            <dependency>
                <groupId>com.h2database</groupId>
                <artifactId>h2</artifactId>
                <version>${h2.version}</version>
                <scope>compile</scope>
            </dependency>

            <!-- Integration test dependencies -->
            <dependency>
                <groupId>org.seleniumhq.selenium</groupId>
                <artifactId>selenium-java</artifactId>
                <version>${selenium.version}</version>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>xalan</groupId>
                <artifactId>xalan</artifactId>
                <version>${xalan.version}</version>
                <scope>test</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <dependencies>
        <!-- Servlet -->
        <dependency>
          <groupId>javax.servlet</groupId>
          <artifactId>javax.servlet-api</artifactId>
          <scope>provided</scope>
          <version>${servlet.version}</version>
        </dependency>

        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jsp-api</artifactId>
            <version>${servlet.jsp.version}</version>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
            <version>${servlet.jstl.version}</version>
        </dependency>

        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>jsp-api</artifactId>
            <version>${servlet.jsp.jsp.version}</version>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>com.sun.faces</groupId>
            <artifactId>jsf-api</artifactId>
            <version>${faces.jsf.version}</version>
        </dependency>

        <dependency>
            <groupId>com.sun.faces</groupId>
            <artifactId>jsf-impl</artifactId>
            <version>${faces.jsf.version}</version>
        </dependency>

        <dependency>
            <groupId>javax.el</groupId>
            <artifactId>el-api</artifactId>
            <version>2.2</version>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>org.glassfish.web</groupId>
            <artifactId>el-impl</artifactId>
            <version>2.2</version>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>com.sun.facelets</groupId>
            <artifactId>jsf-facelets</artifactId>
            <version>1.1.15</version>
        </dependency>

        <dependency>
            <groupId>javax.annotation</groupId>
            <artifactId>jsr250-api</artifactId>
            <version>1.0</version>
        </dependency>

        <!-- RichFaces libraries -->
        <dependency>
            <groupId>org.richfaces</groupId>
            <artifactId>richfaces-bom</artifactId>
            <version>${richfaces.version}</version>
            <scope>import</scope>
            <type>pom</type>
        </dependency>

        <dependency>
            <groupId>org.richfaces.core</groupId>
            <artifactId>richfaces-core-impl</artifactId>
            <version>${richfaces.version}</version>
            <exclusions>
                <exclusion>
                    <artifactId>richfaces-core-api</artifactId>
                    <groupId>org.richfaces.core</groupId>
                </exclusion>
            </exclusions>
        </dependency>

        <dependency>
            <groupId>org.richfaces.ui</groupId>
            <artifactId>richfaces-components-ui</artifactId>
            <version>${richfaces.version}</version>
            <exclusions>
                <exclusion>
                    <artifactId>richfaces-core-api</artifactId>
                    <groupId>org.richfaces.core</groupId>
                </exclusion>
            </exclusions>
        </dependency>

        <dependency>
            <groupId>org.richfaces.framework</groupId>
            <artifactId>richfaces-impl</artifactId>
            <version>4.0.0.ALPHA1</version>
            <exclusions>
                <exclusion>
                    <artifactId>richfaces-api</artifactId>
                    <groupId>org.richfaces.framework</groupId>
                </exclusion>
            </exclusions>
        </dependency>


        <dependency>
            <groupId>org.richfaces.core</groupId>
            <artifactId>richfaces-core-api</artifactId>
            <version>${richfaces.version}</version>
        </dependency>

        <!-- JAVASSIST -->
        <dependency>
            <groupId>org.javassist</groupId>
            <artifactId>javassist</artifactId>
            <version>${javassist.version}</version>
            <scope>runtime</scope>
        </dependency>

        <!-- DAO: HSQLDB et MYSQL -->
        <dependency>
            <groupId>org.hsqldb</groupId>
            <artifactId>hsqldb</artifactId>
            <version>${hsqldb.version}</version>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>

        <dependency>
            <groupId>javax.el</groupId>
            <artifactId>el-ri</artifactId>
            <version>1.2</version>
            <type>jar</type>
            <scope>compile</scope>
        </dependency>

        <!-- Log dependencies -->
        <dependency>
            <groupId>com.compName.logging</groupId>
            <artifactId>log4j-custodian-daily-rolling-appender</artifactId>
        </dependency>

        <!-- Test dependencies -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

</project>

Thanks in advance for your reply.

0 Answers0