[ https://issues.apache.org/jira/browse/FLINK-3459?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15156019#comment-15156019 ]
ASF GitHub Bot commented on FLINK-3459: --------------------------------------- GitHub user tillrohrmann opened a pull request: https://github.com/apache/flink/pull/1682 [FLINK-3459] [build] Fix conflicting dependencies commons-collections commons-beanutils and commons-beanutils-core The Hadoop dependencies have a dependency on commons-configuration which pulls in transitively the commons-collection, commons-beanutils and common-beanutils-core depedencies. Commons-beanutils and commons-collection contain classes which live in the same namespace. They are also binary compatible but not binary identical. This is a problem for the sbt assembly plugin which checks for binary identity. In order to solve the problem, we bump the commons-configuration version to 1.7 so that only commons-beanutils is pulled in. This is necessary, because the transitive promotion of dependencies of the shade plugin only excludes the commons-beanutils dependency only from the directly depending dependency. All parent dependencies won't have the exclusion. This is a problem for SBT which will pull the dependency as part of one of the parents, then. Moreover, we replace commons-beanutils by commons-beanutils-bean-collections which contains only the non-conflicting classes wrt commons-collections. You can merge this pull request into a Git repository by running: $ git pull https://github.com/tillrohrmann/flink makeSbtCompatible Alternatively you can review and apply these changes as the patch at: https://github.com/apache/flink/pull/1682.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #1682 ---- commit 872a5cc8b40142feb6313549e1ed2b2029ce4d68 Author: Till Rohrmann <trohrm...@apache.org> Date: 2016-02-17T14:41:43Z [FLINK-3459] [build] Fix conflicting dependencies commons-collections, commons-beanutils and commons-beanutils-core The Hadoop dependencies have a dependency on commons-configuration which pulls in transitively the commons-collection, commons-beanutils and common-beanutils-core depedencies. Commons-beanutils and commons-collection contain classes which live in the same namespace. They are also binary compatible but not binary identical. This is a problem for the sbt assembly plugin which checks for binary identity. In order to solve the problem, we bump the commons-configuration version to 1.7 so that only commons-beanutils is pulled in. This is necessary, because the transitive promotion of dependencies of the shade plugin only excludes the commons-beanutils dependency only from the directly depending dependency. All parent dependencies won't have the exclusion. This is a problem for SBT which will pull the dependency as part of one of the parents, then. Moreover, we replace commons-beanutils by commons-beanutils-bean-collections which contains only the non-conflicting classes wrt commons-collections. ---- > Make build SBT compatible > ------------------------- > > Key: FLINK-3459 > URL: https://issues.apache.org/jira/browse/FLINK-3459 > Project: Flink > Issue Type: Improvement > Affects Versions: 1.0.0 > Reporter: Till Rohrmann > Assignee: Till Rohrmann > Priority: Minor > Fix For: 1.0.0 > > > The current flink-shaded-hadoop2 dependency is not SBT compatible because it > contains {{commons-collection:3.2.1}}, {{commons-beanutils:1.7}} and > {{commons-beanutils-core:1.8}} dependencies. These dependencies contain > overlapping classes which are binary compatible but not binary identical. > This is a problem for the SBT assembly plugin which requires binary identity > for merging them. Otherwise, the build is aborted. I propose to exclude the > conflicting dependencies and use instead the > {{commons-beanutils-bean-collection}} class which contains only then > non-conflicting classes. -- This message was sent by Atlassian JIRA (v6.3.4#6332)