Most popular tools for deployment automation are written in Python and Ruby. How about Java? Why not use it? Actually, I'm using it, replacing a lot of tasks usually employing shell scripts with code in Java. It works great, thanks to small missing piece - remote execution of Java code using SSH infrastructure.