diff --git a/platform/platform-impl/src/com/intellij/openapi/vfs/impl/jar/JarHandler.java b/platform/platform-impl/src/com/intellij/openapi/vfs/impl/jar/JarHandler.java index 09841b8f7db6..38a38dee9ba9 100644 --- a/platform/platform-impl/src/com/intellij/openapi/vfs/impl/jar/JarHandler.java +++ b/platform/platform-impl/src/com/intellij/openapi/vfs/impl/jar/JarHandler.java @@ -257,16 +257,7 @@ public class JarHandler extends ZipHandler { if (currentVersion != VERSION) { PersistentHashMap.deleteFilesStartingWith(file); - DataOutputStream versionOutputStream = null; - try { - versionOutputStream = new DataOutputStream(new BufferedOutputStream(new FileOutputStream(versionFile))); - DataInputOutputUtil.writeINT(versionOutputStream, VERSION); - } catch (IOException ignore) {} - finally { - try { - if (versionOutputStream != null) versionOutputStream.close(); - } catch (IOException ignore) {} - } + saveVersion(versionFile); } PersistentHashMap info = null; @@ -291,6 +282,7 @@ public class JarHandler extends ZipHandler { break; } catch (IOException ex) { PersistentHashMap.deleteFilesStartingWith(file); + saveVersion(versionFile); } } assert info != null; @@ -310,6 +302,19 @@ public class JarHandler extends ZipHandler { }); } + private static void saveVersion(File versionFile) { + DataOutputStream versionOutputStream = null; + try { + versionOutputStream = new DataOutputStream(new BufferedOutputStream(new FileOutputStream(versionFile))); + DataInputOutputUtil.writeINT(versionOutputStream, VERSION); + } catch (IOException ignore) {} + finally { + try { + if (versionOutputStream != null) versionOutputStream.close(); + } catch (IOException ignore) {} + } + } + private static void flushCachedLibraryInfos() { if (ourCachedLibraryInfo.isDirty()) ourCachedLibraryInfo.force(); }