[
https://issues.apache.org/jira/browse/BEANUTILS-398?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13082230#comment-13082230
]
Alberto Mozzone commented on BEANUTILS-398:
-------------------------------------------
I cloned the BEANUTILS-290 issue because, according to what is written in the
project home page, the three jars (I just downloaded them from Maven Central
Repository) should contain the following classes:
* commons-beanutils.jar - contains everything
* commons-beanutils-core.jar - excludes Bean Collections classes
* commons-beanutils-bean-collections.jar - only Bean Collections classes
In my opinion, this is not true, because:
* commons-beanutils.jar - contains everything: OK
* commons-beanutils-core.jar - excludes Bean Collections classes: false! It
contains the package "collection" too and excludes some classes from
"beanutils" (among them: "BeanComparator" and "BeanMap").
* commons-beanutils-bean-collections.jar - only Bean Collections classes:
false! It contains the package "beanutils" only.
The result is that when I add a dependency on "commons-beanutils-core", the
class "BeanComparator" (or "BeanMap") is not found.
In my project I also add a dependency on "commons-collections" and so when I
remove the dependency on "commons-beanutils-core" and add one on
"commons-beanutils", some "collection" classes are duplicate! Moreover, the
"BeanMap" class is present but different in both packages "collections" and
"beanutils" !!!
In my opinion, there is a build problem and the right result should be:
* commons-beanutils-core: contains only the package "beanutils" with every
class now contained in the package "beanutils" in "commons-beanutils.jar"
* commons-beanutils-collections: contains only the package "collections" with
every class now contained in the package "collections" in
"commons-beanutils.jar"
* commons-collections: drops the "Bean*" classes
As a consequence, "commons-beanutils-core" should declare a mandatory
dependency on "commons-collections".
What do you think?
> CLONE - The three jars contain wrong classes
> --------------------------------------------
>
> Key: BEANUTILS-398
> URL: https://issues.apache.org/jira/browse/BEANUTILS-398
> Project: Commons BeanUtils
> Issue Type: Task
> Components: Bean-Collections
> Affects Versions: 1.8.3
> Reporter: Alberto Mozzone
> Assignee: Niall Pemberton
> Priority: Minor
>
> This issue has been discussed in the following thread:
> http://tinyurl.com/2xdpku
> For BeanUtils 1.7.0 the following classes which had a dependency on Commons
> Collections were split into a separate "bean-collections" sub-module:
> BeanComparator.java
> BeanMap.java
> BeanPredicate.java
> BeanPropertyValueChangeClosure.java
> BeanPropertyValueEqualsPredicate.java
> BeanToPropertyValueTransformer.java
> Three "flavours" of jars were released in 1.7.0
> commons-beanutils.jar - containing all BeanUtils classes, including above
> bean-collections ones
> commons-beanutils-bean-collections.jar - containing just the above
> bean-collections classes
> commons-beanutils-core.jar - containing BeanUtils classes excluding above
> bean-collections ones
> BeanUtils 1.7.0 was created using ant and (I presume) the maven poms for the
> above artifacts were manually created - unfortunately with mistakes:
> 1) The pom for commons-beanutils.jar DOESN'T declare any Commons Collections
> dependency (which it has for the bean-collections classes)
> 2) The pom for commons-beanutils-core.jar DOES declare a Commons Collections
> dependency (which it doesn't actually have)
> The proposal for BeanUtils 1.8.0 (see http://tinyurl.com/2xdpku) is to merge
> the bean-collections classes back into core BeanUtils and get rid of the
> bean-collections sub-module - releasing just a single jar for BeanUtils and
> marking the Commons Collections dependency as "optional" in the maven pom
> (see http://tinyurl.com/2nm2bu).
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira