[
https://issues.apache.org/jira/browse/PHOENIX-5573?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17033577#comment-17033577
]
Istvan Toth commented on PHOENIX-5573:
--------------------------------------
After spending way too much time on this, I could not find a satisfactory
solution.
Since the Hadoop and HBase dependency versions are configurable in Phoenix
(technically all dependencies defines via properties are, but we actually
expect users to set these via *hbase.profile*, and optionally according to
their environments), hardcoding versions via dependencyManagement is not
possible (we'd mess up the specified Hadoop/HBase transitive dependency
versions).
This would leave the exclusion route, which would work beautifully if not for
the fact that the transitive dependencies of Hadoop/HBase itself are not
converging, and that is not possible set exclusions on a transitive dependency
in Maven.
This could be worked around by explicitly depending on the parents of the
offending dependencies, but for that we'd need to set their versions, and then
we'd have the same problems as with the dependencyManagement solution.
[~krisden], if think you can find a good solution, feel free have another go at
this, for now I'll stick with the less ambitious route of manually checking the
conflicting dependencies, and excluding the ones that I deem problematic.
> Ensure that all Maven dependencies converge
> -------------------------------------------
>
> Key: PHOENIX-5573
> URL: https://issues.apache.org/jira/browse/PHOENIX-5573
> Project: Phoenix
> Issue Type: Improvement
> Reporter: Kevin Risden
> Assignee: Istvan Toth
> Priority: Major
> Time Spent: 10m
> Remaining Estimate: 0h
>
> PHOENIX-5572 identified a case where this is broken today. I suggested
> https://maven.apache.org/enforcer/enforcer-rules/dependencyConvergence.html
> which can help ensure that dependencies are one version.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)