We use httpunit extensively for testing our security-related webapp, and when we shortly ran some tests with Java 9 (just to see if there are any problems to be expected in the future), we had a lot of failures in httpunit, like this:
2016-05-09 15:16:31,708 [CC:] [RC:] [Tenant:] - General exception: com.meterware.httpunit.HttpInternalErrorException: Error on HTTP request: 500 java.lang.ClassCastException: jdk.internal.loader.ClassLoaders$AppClassLoader (in module: java.base) cannot be cast to java.net.URLClassLoader (in module: java.base) [http://localhost/sls-core-tests-fast/WEB-INF/jsp/Login.jsp]
com.meterware.httpunit.HttpInternalErrorException: Error on HTTP request: 500 java.lang.ClassCastException: jdk.internal.loader.ClassLoaders$AppClassLoader (in module: java.base) cannot be cast to java.net.URLClassLoader (in module: java.base) [http://localhost/sls-core-tests-fast/WEB-INF/jsp/Login.jsp]
at com.meterware.servletunit.WebApplication$ServletRequestImpl.getServlet(WebApplication.java:782)
[...]
In Java 9 “Application and extension class loaders are no longer instances of java.net.URLClassLoader”, see “Prepare for JDK 9”, Alan Bateman, Oct 2015: http://openjdk.java.net/projects/jigsaw/talks/prepare-for-jdk9-j1-2015.pdf. I'm not sure where exactly the problem lies, if it's in httpunit itself or the JSP compiler libraries, but you might want to run some Java 9 tests yourself.
Thanks; yes, I am having a lot of issues with JDK 9 in other applications.