We have a similar issue using embedded Glassfish for Wonderland. I have included the .dtd files in my embedded filesystem (in install_dir/lib/dtds), and that solves the problem when the server is totally disconnected from the internet. But when the server is behind a proxy, it waits for a several-minute timeout before reading the local dtds and deploying the war file. So starting the server and deploying a few wars takes close to an hour!
[Message sent by forum member 'kaplanj' (jonathankap_at_gmail.com)]
http://forums.java.net/jive/thread.jspa?messageID=386023