Maven传递依赖引入过旧版本的包

执行程序时报出下面错误:

java.lang.NoSuchFieldError: name
    at org.slf4j.impl.Log4jLoggerAdapter.<init>(Log4jLoggerAdapter.java:75)

网上说是因为slf4j版本太旧引起的:

http://bugzilla.slf4j.org/show_bug.cgi?id=137

用m2eclipse的Maven POM Editer查看依赖很方便,选择Dependency Hierarchy,在Filter中输入slf4j:

上图只截取了部分结果。依赖中确实有个项目饮用了过旧版本1.4.3。

在pom.xml中显示声明slf4j,运行成功:

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

 

 

posted @ 2013-01-27 13:40  RichardJing  阅读(1235)  评论(0编辑  收藏  举报