- Fixes#234
- When a single JVM runs multiple PMD instances under different threads,
connections to PMD jars (and streams opened to read standard rulesets)
are shared, causing race conditions where one thread may cause the other
to close it's streams. This in tun produces IOExceptions.
- This happens in Gradle when enabling parallel builds. I believe it can happen
under Maven with -T1C too, but has not been able to reproduce it.
- I take the chance to clean up classloader closing code, making it more concise
and standard accross CLI and Ant.