Avoid resource leak from class loader (#16)
* close ClassLoader
diff --git a/src/main/java/org/apache/maven/plugins/war/WarMojo.java b/src/main/java/org/apache/maven/plugins/war/WarMojo.java
index e30c571..3dda4c9 100644
--- a/src/main/java/org/apache/maven/plugins/war/WarMojo.java
+++ b/src/main/java/org/apache/maven/plugins/war/WarMojo.java
@@ -313,9 +313,22 @@
{
urls[i] = new File( classpathElements.get( i ) ).toURI().toURL();
}
- ClassLoader loader = new URLClassLoader( urls, Thread.currentThread().getContextClassLoader() );
-
- return hasWebServletAnnotationClassInClasspath( loader );
+ URLClassLoader loader = new URLClassLoader( urls, Thread.currentThread().getContextClassLoader() );
+ try
+ {
+ return hasWebServletAnnotationClassInClasspath( loader );
+ }
+ finally
+ {
+ try
+ {
+ loader.close();
+ }
+ catch ( IOException ex )
+ {
+ // ignore
+ }
+ }
}
private static boolean hasWebServletAnnotationClassInClasspath( ClassLoader loader )