48 votes

NoClassDefFoundError: org / slf4j / impl / StaticLoggerBinder

Je suis en train d'exécuter des exemples de carreaux exemple donné ici

Ci-dessous mon POM.xml:

 <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>3.8.1</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.tiles</groupId>
            <artifactId>tiles-api</artifactId>
            <version>2.1.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.tiles</groupId>
            <artifactId>tiles-core</artifactId>
            <version>2.1.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.tiles</groupId>
            <artifactId>tiles-jsp</artifactId>
            <version>2.1.2</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.5.2</version>
        </dependency>
 

Lorsque j'essaie d'exécuter l'exemple, l'erreur ci-dessous est générée:

 Sep 17, 2010 11:59:43 PM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Error configuring application listener of class      org.apache.tiles.web.startup.TilesListener
java.lang.NoClassDefFoundError: org/slf4j/impl/StaticLoggerBinder
at org.slf4j.LoggerFactory.<clinit>(LoggerFactory.java:60)
at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:155)
at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:131)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:685)
at org.apache.tiles.web.startup.TilesListener.<init>(TilesListener.java:49)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
 

Une idée?

J'ai passé 30 minutes à chercher sur Google mais je n'ai pas trouvé?

Aidez-moi, s'il vous plaît..

117voto

gpeche Points 8596

Vous avez inclus une dépendance sur le SLF4J de l'API, qui est ce que vous utilisez dans votre application pour l'enregistrement, mais vous devez également inclure une mise en œuvre qui fait la vraie journalisation de travail.

Par exemple pour se connecter par le biais de Log4J, vous devez ajouter cette dépendance:

    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>1.5.2</version>
    </dependency>

La mise en œuvre recommandée serait logback-classique, qui est le successeur de Log4j, fait par le même gars qui a fait SLF4J et Log4J:

<dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-classic</artifactId>
    <version>0.9.24</version>
</dependency>

Remarque: Les versions peuvent être incorrects.

12voto

Nathan Hughes Points 30377

Vous avez inclus la dépendance pour l'API de sflj, mais pas celle pour la mise en œuvre de l'API, c'est-à-dire un fichier jar séparé. Vous pouvez essayer slf4j-simple-1.6.1.jar.

0voto

Virus Points 16

ça doit être t'aider

http://www.slf4j.org/codes.html#StaticLoggerBinder

asd'gasd adsfasd fasd asdfsadf

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X