【问题标题】:Spring + Hibernate + Tomcat Dependency problemsSpring + Hibernate + Tomcat 依赖问题
【发布时间】:2012-10-14 06:14:04
【问题描述】:

当我运行 tomcat 并部署战争时,我得到: NoClassDefFoundError : org/apache/commons/collections/map/LRUMap

 Invocation of init method failed; nested exception is
 java.lang.NoClassDefFoundError:
 org/apache/commons/collections/map/LRUMap
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:527)
 ~[spring-beans-3.1.0.RELEASE.jar:3.1.0.RELEASE]

奇怪的是,我的 WEB-INF lib 文件夹中有 commons-collections-2.1.jar(我什至尝试过 3.1)。

编辑: 我确实将commons-collectionsWEB-INF/lib 复制到Tomcat lib,它似乎有效。但是我无法在生产服务器上执行此操作,为什么不采用我的WEB-INF/lib 版本?

【问题讨论】:

  • 可能是类加载器问题。 (糟糕!)祝你好运!
  • 如果 jar 在 tomcat/lib 中有效,但在 WEB-INF/lib 中无效,您可能需要正确重启。错误是 NoClassDefFound,它与 ClassNotFound 不同。如上所述,类加载器可能会被其他东西(jar 或类的另一个版本)弄糊涂。也许 LRUMap 也是 tomcat-jar 的一部分?
  • 看起来使用 org/apache/commons/collections/map/LRUMap 的类由层次结构中高于 Webapp 类加载器的类加载器加载。见tomcat.apache.org/tomcat-6.0-doc/class-loader-howto.html
  • 难道没有办法更准确地检测问题出在哪里吗?
  • @MichaelLaffargue Tomcat lib 是什么意思?

标签: spring hibernate tomcat tomcat6 noclassdeffounderror


【解决方案1】:

好的,我确实放了 3.2.1 版的 commons-collections 并且错误消失了。不幸的是,我仍然不知道哪个库取决于这个版本。即使mvn dependency:tree 也无济于事......

【讨论】:

  • 你能发布你的pom.xml和spring bean定义(相关部分)
【解决方案2】:

当我使用 xdoclet 处理依赖项时,我遇到了这个异常。

如果你有这个依赖,就把它排除掉。

【讨论】:

    【解决方案3】:

    我也有同样的问题,也许现在批准答案为时已晚,但对于将来会遇到这个问题的人来说仍然是有益的。 所以我从 net.sf.jasperreports 中排除了 commons-collections,之后 tomcat 运行完美,没有任何问题。

    <dependency>
        <groupId>net.sf.jasperreports</groupId>
        <artifactId>jasperreports</artifactId>
        <version>4.1.1</version>
        <type>jar</type>
        <scope>compile</scope>
        <exclusions>
            <exclusion>
                <artifactId>commons-collections</artifactId>
                <groupId>commons-collections</groupId>
            </exclusion>
        </exclusions>
    </dependency>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-10
      • 2014-11-17
      • 2017-03-20
      • 2015-08-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多