In the past, I've typically deployed applications as EAR files, combining the web documents into a WAR file, then bundling it into the EAR file along with EJB jars, shared libs, configs, etc.
My current application has a document root that features a large number of binary files. The EAR file turns out to be 116 megs, of which 115 is the WAR. This makes it a bit cumbersome to FTP new versions onto the server, particularly since almost all of the EAR is binary content that hasn't changed.
How have others dealt with this issue in the past?