common
common copied to clipboard
common-config transitively depends on, but does not use, zookeeper and netty
common-utils defines dependencies on both zookeeper and zkclient, which transitively include netty 3.10.6.Final. common-config depends on common-utils, but does not use any zookeeper-related functionality, however it still transitively pulls along zookeeper and netty libs, and anything with a transitive dependency on common-config gets those too.
We have an application that uses kafka-avro-serializer, with transitive deps on common-config, common-util, zookeeper, and netty 3.10.6.Final. We're also using an http client lib that pulls in (and actually uses) netty 4.1.33.Final, and we tracked down a NoClassDefFoundError
to having both netty 4 and 3 libs on the classpath.
Since common-config doesn't use any zookeeper/netty stuff, it's probably a good idea that it does not pull along those jars. Maybe exclude them in common-config pom, or extract out a new common-util-zookeeper lib?