Подтвердить что ты не робот

NoClassDefFoundError: org/slf4j/impl/StaticLoggerBinder

Я пытаюсь запустить пример примерных фрагментов, указанный здесь.

Ниже мой 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>

Когда я пытаюсь запустить пример, выдается следующая ошибка:

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)

Любая идея?

Я потратил 30 минут на поиски в Интернете, но не смог найти возможного разрешения.

Пожалуйста, помогите мне...

4b9b3361

Ответ 1

Вы включили зависимость от API SLF4J, которую вы используете в своем приложении для ведения журнала, но вы также должны включить реализацию, которая выполняет реальную работу по протоколированию.

Например, для входа в Log4J вы должны добавить эту зависимость:

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

Рекомендуемая реализация будет logback-classic, которая является преемником Log4j, сделанной теми же парнями, которые сделали SLF4J и Log4J:

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

Примечание. Версии могут быть неверными.

Ответ 2

Вы включили зависимость для sflj api, но не зависимость для реализации api, то есть отдельную банку, вы можете попробовать slf4j-simple-1.6.1.jar.

Ответ 3

Добавьте все плитки для плитки, такие как (tiles-jsp, tiles-servlet, tiles-template, tiles-extras.tiles-core) в вашу папку lib сервера и ваш путь сборки приложения, тогда он работает, если вы используете хвосты apache с spring приложение mvc

Ответ 4

Скопируйте все записи заказа домашнего файла .iml в файл /src/main/main.iml. Это решит проблему.