aboutsummaryrefslogtreecommitdiff
path: root/src/launch/lombok
diff options
context:
space:
mode:
Diffstat (limited to 'src/launch/lombok')
-rw-r--r--src/launch/lombok/launch/ShadowClassLoader.java22
1 files changed, 13 insertions, 9 deletions
diff --git a/src/launch/lombok/launch/ShadowClassLoader.java b/src/launch/lombok/launch/ShadowClassLoader.java
index f2a21a4e..30ca6e97 100644
--- a/src/launch/lombok/launch/ShadowClassLoader.java
+++ b/src/launch/lombok/launch/ShadowClassLoader.java
@@ -364,16 +364,20 @@ class ShadowClassLoader extends ClassLoader {
FileInputStream jar = new FileInputStream(jarLoc);
try {
ZipInputStream zip = new ZipInputStream(jar);
- while (true) {
- ZipEntry entry = zip.getNextEntry();
- if (entry == null) {
- jarLocCache.put(key, false);
- return false;
+ try {
+ while (true) {
+ ZipEntry entry = zip.getNextEntry();
+ if (entry == null) {
+ jarLocCache.put(key, false);
+ return false;
+ }
+ if (!"META-INF/ShadowClassLoader".equals(entry.getName())) continue;
+ boolean v = sclFileContainsSuffix(zip, suffix);
+ jarLocCache.put(key, v);
+ return v;
}
- if (!"META-INF/ShadowClassLoader".equals(entry.getName())) continue;
- boolean v = sclFileContainsSuffix(zip, suffix);
- jarLocCache.put(key, v);
- return v;
+ } finally {
+ zip.close();
}
} finally {
jar.close();