相关疑难解决方法(0)

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>
Run Code Online (Sandbox Code Playgroud)

当我试图运行该示例时,抛出以下错误:

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)
Run Code Online (Sandbox Code Playgroud)

任何的想法?

我花了30分钟谷歌搜索,但找不到可能的溶剂.

请帮我...

java tiles slf4j

45
推荐指数
2
解决办法
14万
查看次数

在使用 Logback 记录计算数据时,我们应该使用 isDebugEnabled() 吗?

尽管在一些教程中,例如这里参数化日志记录部分),说Logback消息{}参数化帮助我们避免日志记录数据中不必要的计算 (如果日志记录级别不是DEBUG):

logger.debug("The bonus for employee {} is {}", 
   employee.getName(), employeeService.calculateBonus(employee));
Run Code Online (Sandbox Code Playgroud)

我测试(在 logback 版本上1.2.3)该优化仅适用于不必要的toString()参数对象 - 因为这适用log4j

Logback文档不包含此细节。

那么,我们必须使用 isDebugEnabled() 来处理所有“昂贵”的日志记录,不是吗?

java logging logback

2
推荐指数
1
解决办法
3604
查看次数

标签 统计

java ×2

logback ×1

logging ×1

slf4j ×1

tiles ×1