It's not entirely clear what specifically you're looking for in terms of an answer.
IMO the value of virtual machines isn't so much for the development environment, but the runtime environment. Things like messaging/queuing, servers, databases, cloud servers (e.g., Swift), etc.
This is language-independent. For example, we have virtual machines (not Vagrant-based) that include Hadoop/HDFS/HBase, Swift, RabbitMQ, and a variety of containers.
We might deploy to those machines, but the dev tools are run locally. IMO there would be little reason to develop on the virtual machine, although there's no reason you couldn't, especially if you're comfortable with Vim/Emacs/etc.
I know there's a Tomcat container for Vagrant, although I haven't used it.