diff --git a/src/main/java/io/openliberty/tools/common/plugins/util/DevUtil.java b/src/main/java/io/openliberty/tools/common/plugins/util/DevUtil.java index da23c1cd..e347182a 100644 --- a/src/main/java/io/openliberty/tools/common/plugins/util/DevUtil.java +++ b/src/main/java/io/openliberty/tools/common/plugins/util/DevUtil.java @@ -4522,6 +4522,15 @@ private void processFileChanges( debug("Java source class file modified: " + fileChanged.getName() + ". Adding to list for processing."); modifiedClasses.add(fileChanged); + + if (!recompileJavaSources.isEmpty()) { + int currentMessages = countApplicationUpdatedMessages(); + if (currentMessages > numApplicationUpdatedMessages) { + debug("Liberty hot reload detected (CWWKZ0003I), clearing recompileJavaSources list to prevent duplicate recompilation"); + debug("Files that will not be recompiled: " + recompileJavaSources); + recompileJavaSources.clear(); + } + } } else if (changeType == ChangeType.DELETE) { debug("Java source class deleted: " + fileChanged.getName() + ". Adding to list for processing."); modifiedClasses.remove(fileChanged); // remove if class file is already stored in list