I see, this declaration is just there to make zookeeper "provided" in order to not conflict with a cluster's copy/version of ZK from Hadoop. Hadoop version kind of matters in that sense. I wonder if this is actually best left unspecified then, since there is no intent to enforce any particular version of ZK, just make sure it is not in the artifact when built with this profile?