Description
In EarMojo.java:886-897, the removeFromOutdatedResources() method has a fallback path that will never match:
try {
relativeDestFile = getWorkDirectory().toPath().relativize(destination.normalize());
} catch (ProviderMismatchException e) {
relativeDestFile = destination.normalize(); // absolute path
}
if (outdatedResources.remove(relativeDestFile.toString())) { ... }
When a ProviderMismatchException occurs (e.g., zip filesystem path vs local filesystem path), the fallback stores an absolute path. However, outdatedResources contains only relative paths (from initOutdatedResources() at line 857). The remove() will never match, so cleanup silently fails for those paths.
Expected behavior
Attempt to relativize differently, or at minimum log that cleanup could not be performed for that path.
Description
In
EarMojo.java:886-897, theremoveFromOutdatedResources()method has a fallback path that will never match:When a
ProviderMismatchExceptionoccurs (e.g., zip filesystem path vs local filesystem path), the fallback stores an absolute path. However,outdatedResourcescontains only relative paths (frominitOutdatedResources()at line 857). Theremove()will never match, so cleanup silently fails for those paths.Expected behavior
Attempt to relativize differently, or at minimum log that cleanup could not be performed for that path.