From 00f908a5f17a8ca3bcffcc72819f4b8c35b06461 Mon Sep 17 00:00:00 2001 From: Krzysztof Waclawik Date: Mon, 27 Jul 2026 10:08:40 +0200 Subject: [PATCH] QD-8704 adding a WARN message in case application was already disposed when a close project callback is executed (cherry picked from commit a7808b1c0d602604e58e5d39129d03c888816d69) GitOrigin-RevId: 54b61aa4b0f99ffcdbc3c87221ff8ff80e7c0a63 --- .../idea/maven/server/MavenServerConnectorImpl.kt | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/server/MavenServerConnectorImpl.kt b/plugins/maven/src/main/java/org/jetbrains/idea/maven/server/MavenServerConnectorImpl.kt index 0f108df74661..f7b7eb145355 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/server/MavenServerConnectorImpl.kt +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/server/MavenServerConnectorImpl.kt @@ -78,9 +78,14 @@ open class MavenServerConnectorImpl(project: Project, mySupport = factory.create(jdk, vmOptions, mavenDistribution, project, myDebugPort) mySupport!!.onTerminate(Consumer { MavenLog.LOG.debug("[connector] terminate " + this@MavenServerConnectorImpl) - val mavenServerManager = ApplicationManager.getApplication()?.getServiceIfCreated( - MavenServerManager::class.java) - mavenServerManager?.shutdownConnector(this@MavenServerConnectorImpl, false) + val application = ApplicationManager.getApplication() + if (application == null) { + MavenLog.LOG.warn("[connector] application is already disposed") + } + else { + val mavenServerManager = application.getServiceIfCreated(MavenServerManager::class.java) + mavenServerManager?.shutdownConnector(this@MavenServerConnectorImpl, false) + } }) // the computation below spawns an immortal server that will not terminate // if someone is interested in the termination of the current computation, they do not need to wait for maven to terminate.