java - impl - org slf4j loggerfactory
NoClassDefFoundError: org/slf4j/impl/StaticLoggerBinder (5)
Estoy tratando de ejecutar el ejemplo de muestra de mosaicos dado here .
A continuación está mi 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>
Cuando intento ejecutar el ejemplo, se arroja el siguiente error:
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)
¿Alguna idea?
Pasé 30 minutos buscando en Google para esto, pero no pude encontrar una posible solución.
Por favor, ayúdame...
Agregue todos los archivos jar como (tiles-jsp, tiles-servlet, tiles-template, tiles-extras.tiles-nucle) a la carpeta lib de su servidor y a la ruta de compilación de su aplicación y luego, si usa apache tailes con la aplicación spring mvc
Copie todas las entradas de pedidos del archivo .iml de la carpeta de inicio en su archivo /src/main/main.iml. Esto solucionará el problema.
Ha incluido la dependencia para la API de sflj, pero no la dependencia para la implementación de la API, que es un jar separado, puede probar slf4j-simple-1.6.1.jar.
Ha incluido una dependencia en la API de SLF4J, que es lo que utiliza en su aplicación para el registro, pero también debe incluir una implementación que realice el trabajo de registro real.
Por ejemplo, para iniciar sesión en Log4J, debería agregar esta dependencia:
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.5.2</version>
</dependency>
La implementación recomendada sería logback-classic, que es el sucesor de Log4j, hecho por los mismos tipos que hicieron SLF4J y Log4J:
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>0.9.24</version>
</dependency>
Nota: las versiones pueden ser incorrectas.
tuve el mismo error al trabajar con hibernate, agregué la dependencia a continuación en mi pom.xml que resolvió el problema
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.10</version>
</dependency>
referencia https://mvnrepository.com/artifact/org.slf4j/slf4j-api