web-dev-qa-db-ja.com

NoClassDefFoundError:org / slf4j / impl / StaticLoggerBinder

here のサンプルタイルの例を実行しようとしています。

以下は私の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分間グーグルで過ごしましたが、可能な解決策を見つけることができませんでした。

私を助けてください...

43
javanoob

SLF4J APIへの依存関係を含めました。これは、ロギングのためにアプリケーションで使用するものですが、実際のロギング作業を行う実装も含める必要があります。

たとえば、Log4Jを介してログを記録するには、次の依存関係を追加します。

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

推奨される実装は、SLF4JとLog4Jを作った同じ人によって作られたLog4jの後継であるlogback-classicです。

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

注:バージョンが正しくない可能性があります。

110
gpeche

Sfljのapiの依存関係は含まれていますが、apiの実装の依存関係は含まれていません。これは、別個のjarです。slf4j-simple-1.6.1.jarを試すことができます。

12
Nathan Hughes

私は休止状態で作業中に同じエラーが発生しました、私は問題を解決したpom.xmlに依存関係を追加しました

    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.7.10</version>
    </dependency>

参照 https://mvnrepository.com/artifact/org.slf4j/slf4j-api

1
Mateen

(tiles-jsp、tiles-servlet、tiles-template、tiles-extras.tiles-core)のようなすべてのタイルjarをサーバーlibフォルダーとアプリケーションビルドパスに追加し、Apacheテールをspring mvcアプリケーションで使用すると機能します

1
user4856159

ホームフォルダー.imlファイルのすべての注文エントリを/src/main/main.imlファイルにコピーします。これで問題が解決します。

0
Vivek