Merge pull request #16 from apache/close

use try with resources to avoid leaks
diff --git a/src/test/java/org/apache/maven/shared/dependency/analyzer/ClassFileVisitorUtilsTest.java b/src/test/java/org/apache/maven/shared/dependency/analyzer/ClassFileVisitorUtilsTest.java
index 72fe2d7..c705f6d 100644
--- a/src/test/java/org/apache/maven/shared/dependency/analyzer/ClassFileVisitorUtilsTest.java
+++ b/src/test/java/org/apache/maven/shared/dependency/analyzer/ClassFileVisitorUtilsTest.java
@@ -44,10 +44,11 @@
         throws IOException
     {
         File file = createJar();
-        JarOutputStream out = new JarOutputStream( new FileOutputStream( file ) );
-        writeEntry( out, "a/b/c.class", "class a.b.c" );
-        writeEntry( out, "x/y/z.class", "class x.y.z" );
-        out.close();
+        try ( JarOutputStream out = new JarOutputStream( new FileOutputStream( file ) ) )
+        {
+            writeEntry( out, "a/b/c.class", "class a.b.c" );
+            writeEntry( out, "x/y/z.class", "class x.y.z" );
+        }
 
         Mock mock = mock( ClassFileVisitor.class );
         expectVisitClass( mock, "a.b.c", "class a.b.c" );
@@ -62,9 +63,10 @@
         throws IOException
     {
         File file = createJar();
-        JarOutputStream out = new JarOutputStream( new FileOutputStream( file ) );
-        writeEntry( out, "a/b/c.jpg", "jpeg a.b.c" );
-        out.close();
+        try ( JarOutputStream out = new JarOutputStream( new FileOutputStream( file ) ) )
+        {
+            writeEntry( out, "a/b/c.jpg", "jpeg a.b.c" );
+        }
 
         Mock mock = mock( ClassFileVisitor.class );
 
@@ -125,6 +127,7 @@
         try
         {
             ClassFileVisitorUtils.accept( url, (ClassFileVisitor) mock.proxy() );
+            fail("expected IllegalArgumntException");
         }
         catch ( IllegalArgumentException exception )
         {
@@ -142,6 +145,7 @@
         try
         {
             ClassFileVisitorUtils.accept( url, (ClassFileVisitor) mock.proxy() );
+            fail("expected IllegalArgumntException");
         }
         catch ( IllegalArgumentException exception )
         {
diff --git a/src/test/java/org/apache/maven/shared/dependency/analyzer/DefaultClassAnalyzerTest.java b/src/test/java/org/apache/maven/shared/dependency/analyzer/DefaultClassAnalyzerTest.java
index bcb7a7d..40b3553 100644
--- a/src/test/java/org/apache/maven/shared/dependency/analyzer/DefaultClassAnalyzerTest.java
+++ b/src/test/java/org/apache/maven/shared/dependency/analyzer/DefaultClassAnalyzerTest.java
@@ -41,17 +41,21 @@
 public class DefaultClassAnalyzerTest
     extends AbstractFileTest
 {
-    // tests ------------------------------------------------------------------
+    private File file;
 
+    public void setUp() throws IOException {
+        file = createJar();
+        try ( JarOutputStream out = new JarOutputStream( new FileOutputStream( file ) ) )
+        {
+            writeEntry( out, "a/b/c.class", "class a.b.c" );
+            writeEntry( out, "x/y/z.class", "class x.y.z" );
+        }
+    }
+    
+    
     public void testAnalyzeWithJar()
         throws IOException
     {
-        File file = createJar();
-        JarOutputStream out = new JarOutputStream( new FileOutputStream( file ) );
-        writeEntry( out, "a/b/c.class", "class a.b.c" );
-        writeEntry( out, "x/y/z.class", "class x.y.z" );
-        out.close();
-
         Set<String> expectedClasses = new HashSet<String>();
         expectedClasses.add( "a.b.c" );
         expectedClasses.add( "x.y.z" );
@@ -66,13 +70,7 @@
         throws IOException
     {
         //to reproduce MDEP-143
-        File file = createJar();
-        JarOutputStream out = new JarOutputStream( new FileOutputStream( file ) );
-        writeEntry( out, "a/b/c.class", "class a.b.c" );
-        writeEntry( out, "x/y/z.class", "class x.y.z" );
-        out.close();
-
-        //corrupt the jar file by alter its contents
+        // corrupt the jar file by altering its contents
         FileInputStream fis = new FileInputStream( file );
         ByteArrayOutputStream baos = new ByteArrayOutputStream( 100 );
         IOUtil.copy( fis, baos, 100 );