Which one should I use?(java client)

Which one should I use?(java client)
“nakama-java-$version.jar” or
“nakama-java-$version-all.jar”

It depends on how you are developing your application. For ease of development, I’d suggest using -all JAR files which includes all dependencies.

What are those dependencies and when I need them?

The dependencies are needed for the functionality of the client library. You can see the dependency list here: