I have found the reason for this. If you deploy jasperserver onto *more than one* virtual server, then this error will occur when the ehcache tries to load itself twice.
The solution I have found, is to set up a single virtual server in glassfish, then associate that with multiple listeners. That is if you actually need more than one listener. In my case, I need it to listen on JK, for proxied calls, and also on a "plain" http socket for REST calls.