it's also the sad fact that too many popular open source projects have way more external dependencies than necessary. As an apache committer I've seen this across most java open source projects.it's not unique to cassandra community. It's a problem across Java community caused by Maven fanatics.
On Sun, May 26, 2013 at 9:53 AM, Renato Marroquín Mogrovejo <email@example.com> wrote:
Thanks for your replies!It is really a shame that is the way I would have to go. I am a contributor for the Apache Gora project and we were trying to support different clients within our project but with those news, things really get complicated :-/ maybe we will go with Intravert or DataStax clients . . . while C* clients' war continues ):Renato M.2013/5/25 Peter Lin <firstname.lastname@example.org>
the maven boondoggle is a huge anti-practice for the java world.I'll second that.
On Sat, May 25, 2013 at 12:10 PM, Edward Capriolo <email@example.com> wrote:
This is a big Java problem with Guava and logging libraries that get included with everything. If you bundle together enough projects you are bound to have an satisfiable breaking mismatch. The hip trend is "just use the latest from maven"so hipsters have a canned reply, "OMG!!! YOUR VERSIONS IS SOO OLD" , but in the real world we have to support environments outside our laptop and we cant always be updating things every day for no real reason, angry administrators say "WHY DOES YOUR GUAVA NEED TO BE UPGRADED? IS THERE A BUG?" :)
So yes, while I do think Guava is a nice library, the breaking changes in it are PITA, and the things inside it generally are things you can do yourself. Preconditions.checkNotNull(Object) for example seems sexy but over time you always hit an issue like this since guava gets included everywhere. As a result I commonly end up stripping out guava in out projects.
::Rant over::Your only hope is to build a fork of one hector or astynax that uses the same guava version or get both the projects to update to the same version.