common icon indicating copy to clipboard operation
common copied to clipboard

common-config transitively depends on, but does not use, zookeeper and netty

Open zcox opened this issue 5 years ago • 0 comments

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?

zcox avatar May 29 '19 22:05 zcox