2013-02-04 35 views
1

在构建Maven项目,我得到了一些错误,下面粘贴无法加载类“org.slf4j.impl.StaticLoggerBinder

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". 
SLF4J: Defaulting to no-operation (NOP) logger implementation 

我试图在堆栈溢出类似的帖子找到了解决方案,但仍错误来了。

这里是我的pom.xml

<dependencies> 
     <dependency> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
      <version>4.7</version> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-test</artifactId> 
      <version>${spring.framework.version}</version> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-jdbc</artifactId> 
      <version>${spring.framework.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-context</artifactId> 
      <version>${spring.framework.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-orm</artifactId> 
      <version>3.0.5.RELEASE</version> 
     </dependency> 
     <dependency> 
      <groupId>cglib</groupId> 
      <artifactId>cglib-nodep</artifactId> 
      <version>2.2</version> 
     </dependency> 
     <dependency> 
      <groupId>org.hibernate.javax.persistence</groupId> 
      <artifactId>hibernate-jpa-2.0-api</artifactId> 
      <version>1.0.1.Final</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-aop</artifactId> 
      <version>${spring.framework.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.batch</groupId> 
      <artifactId>spring-batch-core</artifactId> 
      <version>${spring.batch.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.batch</groupId> 
      <artifactId>spring-batch-infrastructure</artifactId> 
      <version>${spring.batch.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>commons-beanutils</groupId> 
      <artifactId>commons-beanutils</artifactId> 
      <version>1.8.3</version> 
     </dependency> 
     <dependency> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-core</artifactId> 
      <version>3.3.2.GA</version> 
     </dependency> 
     <dependency> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-annotations</artifactId> 
      <version>3.4.0.GA</version> 
     </dependency> 
     <dependency> 
      <groupId>javassist</groupId> 
      <artifactId>javassist</artifactId> 
      <version>3.9.0.GA</version> 
     </dependency> 
     <dependency> 
      <groupId>commons-dbcp</groupId> 
      <artifactId>commons-dbcp</artifactId> 
      <version>1.2.2</version> 
     </dependency> 
     <dependency> 
      <groupId>c3p0</groupId> 
      <artifactId>c3p0</artifactId> 
      <version>0.8.4.5</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.commons</groupId> 
      <artifactId>commons-io</artifactId> 
      <version>1.3.2</version> 
     </dependency> 
     <dependency> 
      <groupId>commons-lang</groupId> 
      <artifactId>commons-lang</artifactId> 
      <version>2.5</version> 
     </dependency> 
     <dependency> 
      <groupId>com.oracle</groupId> 
      <artifactId>ojdbc14</artifactId> 
      <version>10.2.0.3.0</version> 
     </dependency> 
     <dependency> 
      <groupId>org.slf4j</groupId> 
      <artifactId>slf4j-log4j12</artifactId> 
      <version>1.6.1</version> 
     </dependency> 
     <dependency> 
      <groupId>org.slf4j</groupId> 
      <artifactId>slf4j-api</artifactId> 
      <version>1.6.1</version> 
     </dependency> 
     <dependency> 
      <groupId>hsqldb</groupId> 
      <artifactId>hsqldb</artifactId> 
      <version>1.8.0.7</version> 
     </dependency> 
     <dependency> 
      <groupId>org.aspectj</groupId> 
      <artifactId>aspectjrt</artifactId> 
      <version>1.6.8</version> 
     </dependency> 
     <dependency> 
      <groupId>org.aspectj</groupId> 
      <artifactId>aspectjweaver</artifactId> 
      <version>1.6.8</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.commons</groupId> 
      <artifactId>commons-lang3</artifactId> 
      <version>3.1</version> 
     </dependency> 
    </dependencies> 

请建议。

+0

是图书馆?一个命令行应用程序?它用在容器如tomcat,jetty或jboss上吗? –

+0

这是一个命令行应用程序 – Anand

回答

0

如果是命令行应用程序,那么您需要以某种方式运行它。

它是整体工作,只有问题是与slf4j/log4j? 我想它可能不是log4j的唯一问题,但其他库不能访问。你有其他的依赖关系创建jar吗?你的清单文件中有什么?

需要更多关于您问题的信息。

0

另见http://www.slf4j.org/codes.html#StaticLoggerBinder

检查真的是SLF4J所有瓶子都包括在最后的神器。另外检查一下,全部使用相同的slf4j版本。 Mayber的某些其他依赖项会覆盖slf4j-api的版本,但您仍然会加载它们较早的Log4j-Binding。

2

尝试删除下面的依赖

<dependency> 
    <groupId>org.slf4j</groupId> 
    <artifactId>slf4j-api</artifactId> 
    `enter code here`<version>1.6.1</version> 
</dependency> 

只保留slf4j-log4j12在你的pom

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

貌似这些文物相互矛盾,并采取优先另一层之上

1

首先你只要将slf4j-api与slf4j-log4j12依赖关系捆绑在一起,就应该删除下面的依赖关系。检查你的依赖关系层次结构(在pom.xml中),你会在slf4j-log4j12下面看到slf4j-api。

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

其次,只要您提供的依赖,你仍然得到SLF4J:无法加载类“org.slf4j.impl.StaticLoggerBinder”。错误我假设你使用Eclipse作为你的开发环境。

当使用捆绑maven版本(m2e)时,Eclipse Juno和Indigo不抑制消息SLF4J:未能加载类“org.slf4j.impl.StaticLoggerBinder”。此行为在m2e 1.1.0.20120530-0009及之后的版本中提供。

虽然这表示为错误,您的日志将正常保存。突出显示的错误仍然存​​在,直到修复此错误。更多关于m2e support site的信息。

当前可用的解决方案是使用外部maven版本而不是捆绑版本的Eclipse。你可以在下面的问题中找到关于这个解决方案的更多细节,并且我相信这个问题描述了你面临的同样的问题。

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". error

相关问题