49

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

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

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

4

6 に答える 6

119

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

たとえば、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>

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

于 2010-09-17T18:42:23.370 に答える
12

sfljのapiの依存関係を含めましたが、apiの実装の依存関係は含めていません。つまり、別のjarであるため、slf4j-simple-1.6.1.jarを試すことができます。

于 2010-09-17T18:41:24.437 に答える
1

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

于 2015-05-02T04:42:03.213 に答える
0

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

于 2017-06-03T12:47:15.380 に答える
0

hibernateの操作中に同じエラーが発生しました。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

于 2018-05-14T01:00:47.083 に答える
0

SL4Jバージョンの一貫性を確保するための良い方法は、バージョンを次のようなプロパティに一元化することです。

...
    <properties>
        <org.slf4j.version>1.5.2</org.slf4j.version><!-- SLF4J release -->
    </properties>
...
     <dependencies>
        <!-- SL4J with LOG4J implementation -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>${org.slf4j.version}</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>${org.slf4j.version}</version>
        </dependency>
...
于 2021-03-31T06:57:36.710 に答える