I work in a Python shop, so naturally selenium-python bindings were my first route in setting up our automated testing. The bindings work fine, just as I'm sure the Java bindings work fine, but the output left lots to be desired and there was basically zero integration (no reports generated, no easy CI hooks).
I would say, choose a framework in the language that the *test-writers know best*.
I would definitely look into TestNG if the majority of your devs are Java guys.
That said, the JS frameworks and tests are pretty straightforward and anyone should be able to learn by example (javascript's syntax was largely derived from Java anyway!)
I looked at plenty of other frameworks but seeing as everyone [in my office] knows python and at least _some_ javascript, I limited my search to those languages. To be honest I didn't even try out SST (python framework), I found Intern, Nightwatch, and WebDriver.io and chose these because they seem to be the most actively developed and their output was gorgeous (also reports, jenkins integration, etc.).
As stated in another thread, after getting the same test written for all three frameworks running on a modern machine, I moved to a WinServer with IE8 and ran the same tests. Only Nightwatch ran properly (even using intern's "geezer" branch, made to support IE6).
I did not look into Java frameworks. If your Java devs are going to be writing most of the tests, maybe you should take a harder look at a Java framework.
The fact is, no matter the language or framework, tests are straightforward and have a documented API. Any competent programmer should be able to write these tests in any language. They're using an API and following an example; this isn't reinventing the wheel.