Index: src/test/java/org/apache/jackrabbit/filevault/maven/packaging/it/ProjectBuilder.java =================================================================== --- src/test/java/org/apache/jackrabbit/filevault/maven/packaging/it/ProjectBuilder.java (revision 1816621) +++ src/test/java/org/apache/jackrabbit/filevault/maven/packaging/it/ProjectBuilder.java (working copy) @@ -225,39 +225,41 @@ if (buildExpectedToFail) { return this; } - ZipFile zip = new ZipFile(testPackageFile); - ZipEntry propertiesFile = zip.getEntry("META-INF/vault/properties.xml"); - assertThat(propertiesFile, notNullValue()); - - Properties properties = new Properties(); - properties.loadFromXML(zip.getInputStream(propertiesFile)); - - assertEquals("Property '" + key + "' has correct value", properties.getProperty(key), value); + try (ZipFile zip = new ZipFile(testPackageFile)) { + ZipEntry propertiesFile = zip.getEntry("META-INF/vault/properties.xml"); + assertThat(propertiesFile, notNullValue()); + + Properties properties = new Properties(); + properties.loadFromXML(zip.getInputStream(propertiesFile)); + + assertEquals("Property '" + key + "' has correct value", properties.getProperty(key), value); + } return this; } public ProjectBuilder verifyExpectedManifest() throws IOException { final String expected = FileUtils.fileRead(expectedManifestFile); - JarFile jar = new JarFile(testPackageFile); - List entries = new ArrayList(); - for (Map.Entry e: jar.getManifest().getMainAttributes().entrySet()) { - String key = e.getKey().toString(); - if (IGNORED_MANIFEST_ENTRIES.contains(key)) { - continue; - } - if ("Import-Package".equals(key)) { - // split export package so that we have a sorted set - Parameters params = new Parameters(e.getValue().toString()); - for (Map.Entry entry : params.entrySet()) { - entries.add(key + ":" + entry.getKey() + ";" + entry.getValue()); + try (JarFile jar = new JarFile(testPackageFile)) { + List entries = new ArrayList(); + for (Map.Entry e: jar.getManifest().getMainAttributes().entrySet()) { + String key = e.getKey().toString(); + if (IGNORED_MANIFEST_ENTRIES.contains(key)) { + continue; } - continue; + if ("Import-Package".equals(key)) { + // split export package so that we have a sorted set + Parameters params = new Parameters(e.getValue().toString()); + for (Map.Entry entry : params.entrySet()) { + entries.add(key + ":" + entry.getKey() + ";" + entry.getValue()); + } + continue; + } + entries.add(e.getKey() + ":" + e.getValue()); } - entries.add(e.getKey() + ":" + e.getValue()); + Collections.sort(entries); + String result = StringUtils.join(entries.iterator(),"\n"); + assertEquals("Manifest", expected, result); } - Collections.sort(entries); - String result = StringUtils.join(entries.iterator(),"\n"); - assertEquals("Manifest", expected, result); return this; } @@ -280,12 +282,13 @@ if (buildExpectedToFail) { return this; } - ZipFile zip = new ZipFile(testPackageFile); - ZipEntry entry = zip.getEntry("META-INF/vault/filter.xml"); - assertNotNull("package has a filter.xml", entry); - String result = IOUtil.toString(zip.getInputStream(entry), "utf-8"); - String expected = FileUtils.fileRead(expectedFilterFile); - assertEquals("filter.xml is correct", expected, result); + try (ZipFile zip = new ZipFile(testPackageFile)) { + ZipEntry entry = zip.getEntry("META-INF/vault/filter.xml"); + assertNotNull("package has a filter.xml", entry); + String result = IOUtil.toString(zip.getInputStream(entry), "utf-8"); + String expected = FileUtils.fileRead(expectedFilterFile); + assertEquals("filter.xml is correct", expected, result); + } return this; }