Just to share the strategy for debugging future instances of problems like
this. Maven has a command that will show you the exploded dependency tree
of a project [0]. Just pipe this into a file and look for the version
number of any jars you found that look like they may be conflicting
transitive dependencies. Solving this problem can be done in two ways,
either excluding the unwanted dependency, or shading it [1]. As I
understand it, excluding that JAR will only work if we happen to be using a
subset of the direct dependency that does not reference the unwanted
transitive dependency.

[0] -
https://maven.apache.org/plugins/maven-dependency-plugin/examples/resolving-conflicts-using-the-dependency-tree.html

[1] -
http://stackoverflow.com/questions/13620281/what-is-the-maven-shade-plugin-used-for-and-why-would-you-want-to-relocate-java

On Thu, Jul 16, 2015 at 8:55 AM, Abdel Hakim Deneche <[email protected]>
wrote:

> I noticed when building Drill that we ship both netty 4.0.27 and 3.6.6 in
> jars/3rdparty.
>
> Thanks to Jason, we found that netty 3.6.6 is a dependency of hbase-client
> 0.98.7. Further looking into the jars, it seems that netty 3.6.6 and 4.0.27
> are using different package names (org.jboss.netty vs io.netty)
>
> I guess this is fine as Drill is only referencing io.netty, but wanted to
> double check in the dev list to make sure this is not a potential source of
> problems.
>
> Thanks!
>
> --
>
> Abdelhakim Deneche
>
> Software Engineer
>
>   <http://www.mapr.com/>
>
>
> Now Available - Free Hadoop On-Demand Training
> <
> http://www.mapr.com/training?utm_source=Email&utm_medium=Signature&utm_campaign=Free%20available
> >
>

Reply via email to