diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/importing/MavenProjectImporter.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/importing/MavenProjectImporter.java index d6c0b1e4c51f..fa099061b028 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/importing/MavenProjectImporter.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/importing/MavenProjectImporter.java @@ -25,6 +25,7 @@ import com.intellij.openapi.roots.LibraryOrderEntry; import com.intellij.openapi.roots.ModifiableRootModel; import com.intellij.openapi.roots.ModuleRootModel; import com.intellij.openapi.roots.OrderEntry; +import com.intellij.openapi.roots.impl.libraries.LibraryImpl; import com.intellij.openapi.roots.libraries.Library; import com.intellij.openapi.ui.Messages; import com.intellij.openapi.util.Pair; @@ -559,7 +560,7 @@ public class MavenProjectImporter { boolean removed = false; for (Library each : unusedLibraries) { - if (MavenRootModelAdapter.isMavenLibrary(each) && !MavenRootModelAdapter.isChangedByUser(each)) { + if (!isDisposed(each) && MavenRootModelAdapter.isMavenLibrary(each) && !MavenRootModelAdapter.isChangedByUser(each)) { myModelsProvider.removeLibrary(each); removed = true; } @@ -567,6 +568,10 @@ public class MavenProjectImporter { return removed; } + private static boolean isDisposed(Library library) { + return library instanceof LibraryImpl && ((LibraryImpl)library).isDisposed(); + } + private Collection collectModuleModels() { Map rootModels = new THashMap(); for (MavenProject each : myProjectsToImportWithChanges.keySet()) {