3

当我运行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]

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

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

4

3 回答 3

3

好的,所以我确实放了 3.2.1 版的 commons-collections 并且错误消失了。不幸的是,我仍然不知道哪个库取决于这个版本。甚至mvn dependency:tree没有帮助...

于 2012-10-24T09:37:48.590 回答
1

当我使用xdoclet依赖项时,我遇到了这个例外。

如果您有这种依赖关系,只需排除它。

于 2014-02-19T22:04:09.490 回答
0

我有同样的问题,也许现在批准答案为时已晚,但对于将来会遇到这个问题的人来说仍然是有益的。所以我从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>
于 2016-02-18T10:26:15.257 回答