from Chris Riccomini
1. Maven central can't resolve it properly (POM is different from Apache release). Have to use Apache release repo directly to get things to work.
2. Exclusions must be manually applied even though they exist in Kafka's POM already. I think Maven can handle this automatically, if the POM is done right.
3. Weird parent block in Kafka POMs that points to org.apache.
4. Would be nice to publish kafka-test jars as well.
5. Would be nice to have SNAPSHOT releases off of trunk using a Hudson job.
Our hypothesis regarding the first issue is that it was caused by duplicate publishing during testing, and it should go away in the future.
Regarding number 2, I have to explicitly exclude the following when depending on Kafka:
exclude module: 'jms'
exclude module: 'jmxtools'
exclude module: 'jmxri'
I believe these just need to be excluded from the appropriate jars in the actual SBT build file, to fix this issue. I see JMS is excluded from ZK, but it's probably being pulled in from somewhere else, anyway.
Regarding number 3, it is indeed listed as something to do on the Apache publication page (http://www.apache.org/dev/publishing-maven-artifacts.html). I can't find an example of anyone using it, but it doesn't seem to be doing any harm.
Also, regarding your intransitive() call, that is disabling ALL dependencies not just the exclusions, I believe. I think that the "proper" way to do that would be to do what I've done: exclude("jms", "jmxtools", "jmxri"). Regardless, fixing number 2, above, should mean that intransitive()/exclude() are not required.