quarkusio/quarkus · error · IllegalStateException
Hot deployment of the application is not supported when upda
Error message
Hot deployment of the application is not supported when updating the Quarkus version. The application needs to be stopped and dev mode started up again
What it means
IsolatedDevModeMain.close() stops dev mode and relies on RuntimeUpdatesProcessor.INSTANCE to support hot redeployment. When hot-reload support was never installed (INSTANCE is null) — which happens when the Quarkus version changed and the application is being restarted in place — hot deployment cannot continue, so this IllegalStateException is thrown asking you to fully stop and restart dev mode.
Source
Thrown at core/deployment/src/main/java/io/quarkus/deployment/dev/IsolatedDevModeMain.java:339
restarting = true;
if (codeGenWatcher != null) {
codeGenWatcher.shutdown();
codeGenWatcher = null;
}
for (int i = listeners.size() - 1; i >= 0; i--) {
try {
listeners.get(i).beforeShutdown();
} catch (Exception e) {
log.warn("Unable to invoke 'beforeShutdown' of " + listeners.get(i).getClass(), e);
}
}
listeners.clear();
try {
stop();
if (RuntimeUpdatesProcessor.INSTANCE == null) {
throw new IllegalStateException(
"Hot deployment of the application is not supported when updating the Quarkus version. The application needs to be stopped and dev mode started up again");
}
} finally {
try {
if (RuntimeUpdatesProcessor.INSTANCE != null) {
try {
RuntimeUpdatesProcessor.INSTANCE.close();
} catch (IOException e) {
log.error("Failed to close compiler", e);
} finally {
RuntimeUpdatesProcessor.INSTANCE = null;
}
}
for (HotReplacementSetup i : hotReplacementSetups) {
i.close();
}
hotReplacementSetups.clear();
} finally {View on GitHub (pinned to e1c734241f)
Solutions
- Stop dev mode completely (Ctrl+C / stop the build tool process).
- Start dev mode again with ./mvnw quarkus:dev (or gradle quarkusDev) after the version change.
- Perform a clean build after upgrading Quarkus to avoid stale augmented artifacts.
Example fix
// before: while quarkus:dev is running <quarkus.platform.version>3.15.0</quarkus.platform.version> // hot reload picks this up -> error // after: stop dev mode first, then change version and run ./mvnw clean ./mvnw quarkus:dev
Defensive patterns
Strategy: retry
Try / catch
try {
// trigger redeploy
} catch (IllegalStateException e) {
if (e.getMessage().contains("Hot deployment")) {
// stop dev mode fully and restart quarkus:dev
}
} Prevention
- Never bump the Quarkus version while dev mode is running; stop first.
- Restart dev mode after any dependency version change.
- Use clean builds when upgrading the platform.
When it happens
Trigger: Changing the Quarkus version and triggering a hot redeploy/restart in an already-running dev mode session; close() invoked by firstStart/run/accept with RuntimeUpdatesProcessor.INSTANCE still null.
Common situations: Editing pom.xml/build.gradle to bump the Quarkus version while quarkus:dev is running; the dev mode restart handler attempting an in-place reload across a version boundary.
Related errors
- Only application with launch mode DEVELOPMENT can restart
- Unable to perform live reload scanning
- Either location or predicate must be set
- Predicate already set
- Location already set
AI-assisted analysis of quarkusio/quarkus@e1c734241f (2026-09-05).
Data as JSON: /api/errors/18ede8e45154fa01.
Report an issue: GitHub.