diff --git a/core/deployment/src/main/java/io/quarkus/runner/bootstrap/RunningQuarkusApplicationImpl.java b/core/deployment/src/main/java/io/quarkus/runner/bootstrap/RunningQuarkusApplicationImpl.java index 609c043335650..79a69b073fd98 100644 --- a/core/deployment/src/main/java/io/quarkus/runner/bootstrap/RunningQuarkusApplicationImpl.java +++ b/core/deployment/src/main/java/io/quarkus/runner/bootstrap/RunningQuarkusApplicationImpl.java @@ -8,15 +8,16 @@ import org.eclipse.microprofile.config.ConfigProvider; import io.quarkus.bootstrap.app.RunningQuarkusApplication; +import io.quarkus.bootstrap.classloading.QuarkusClassLoader; public class RunningQuarkusApplicationImpl implements RunningQuarkusApplication { private final Closeable closeTask; - private final ClassLoader classLoader; + private final QuarkusClassLoader classLoader; private boolean closing; - public RunningQuarkusApplicationImpl(Closeable closeTask, ClassLoader classLoader) { + public RunningQuarkusApplicationImpl(Closeable closeTask, QuarkusClassLoader classLoader) { this.closeTask = closeTask; this.classLoader = classLoader; } @@ -30,7 +31,11 @@ public ClassLoader getClassLoader() { public void close() throws Exception { if (!closing) { closing = true; - closeTask.close(); + try { + closeTask.close(); + } finally { + classLoader.close(); + } } }