commons-collections和commons-beanutils中的重复类

yeg*_*256 16 java apache-commons maven

Apache的两个Maven工件中有四个重复的类:commons-beanutils:commons-beanutils:1.8.3commons-collections:commons-collections:3.2.1:

org.apache.commons.collections.ArrayStack
org.apache.commons.collections.Buffer
org.apache.commons.collections.BufferUnderflowException
org.apache.commons.collections.FastHashMap
Run Code Online (Sandbox Code Playgroud)

是否可以用其他工件替换其中一个以避免这种重复?我试图谷歌但没有找到任何解决方案.相当恼人的问题.

Lee*_*dor 17

在这种情况下,问题不是maven或排除(通常是问题),但您最有可能使用错误版本的beanutils.

有一个版本的beanutils jar包含bean集合,而另一个则没有.bean集合的beanutils的maven依赖包括commons集合.如果您自己使用commons集合,请使用maven依赖项中的核心版本并包含commons集合.

这是它的解释:http://commons.apache.org/beanutils/

该页面说明了这一点:

commons-beanutils.jar - contains everything
commons-beanutils-core.jar - excludes Bean Collections classes
commons-beanutils-bean-collections.jar - only Bean Collections classes

The main commons-beanutils.jar has an optional dependency on Commons Collections
Run Code Online (Sandbox Code Playgroud)

  • beanutils 1.9的情况发生了变化:commons-beanutils-core和commons-beanutils-bean-collections不再被释放.相反,违规类已从commons-beanutils.jar中删除.因此,请确保您的commons-beanutils是最新的. (4认同)