Bug 385152 - [nano] War deployer does not release hold on deployed war in pickup
diff --git a/org.eclipse.virgo.nano.war.deployer/src/main/java/org/eclipse/virgo/nano/war/deployer/WARDeployer.java b/org.eclipse.virgo.nano.war.deployer/src/main/java/org/eclipse/virgo/nano/war/deployer/WARDeployer.java
index 0709bbf..94e73c0 100644
--- a/org.eclipse.virgo.nano.war.deployer/src/main/java/org/eclipse/virgo/nano/war/deployer/WARDeployer.java
+++ b/org.eclipse.virgo.nano.war.deployer/src/main/java/org/eclipse/virgo/nano/war/deployer/WARDeployer.java
@@ -222,12 +222,20 @@
 
     @Override
     public boolean isDeployFileValid(File file) {
-        try {
-            @SuppressWarnings("unused")
-            JarFile jarFile = new JarFile(file);
+    	JarFile jarFile = null;
+    	try {
+            jarFile = new JarFile(file);
         } catch (IOException e) {
             this.logger.error("The deployed file '" + file.getAbsolutePath() + "' is an invalid zip file.");
             return false;
+        } finally {
+        	try {
+        		if (jarFile != null) {
+        			jarFile.close();
+        		}
+        	} catch (IOException e) {
+        		// do nothing
+        	}
         }
         return true;
     }