2013-02-04 81 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

相關問題