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 > > >
