diff --git a/jetty-distribution/src/main/resources/modules/jsp.mod b/jetty-distribution/src/main/resources/modules/jsp.mod index fa5b9fdfa95..bb31ca75992 100644 --- a/jetty-distribution/src/main/resources/modules/jsp.mod +++ b/jetty-distribution/src/main/resources/modules/jsp.mod @@ -4,6 +4,7 @@ [depend] servlet +annotations jsp-impl/${jsp-impl}-jsp [ini-template] diff --git a/jetty-start/src/main/java/org/eclipse/jetty/start/Modules.java b/jetty-start/src/main/java/org/eclipse/jetty/start/Modules.java index 804d63ae325..3b1f79e2275 100644 --- a/jetty-start/src/main/java/org/eclipse/jetty/start/Modules.java +++ b/jetty-start/src/main/java/org/eclipse/jetty/start/Modules.java @@ -330,6 +330,7 @@ public class Modules implements Iterable parentNames.addAll(module.getParentNames()); for(String name: parentNames) { + StartLog.debug("Enable parent '%s' of module: %s",name,module.getName()); Module parent = modules.get(name); if (parent == null) { @@ -468,6 +469,7 @@ public class Modules implements Iterable // load missing post-expanded dependent modules private void normalizeDependencies() throws FileNotFoundException, IOException { + Set expandedModules = new HashSet<>(); boolean done = false; while (!done) { @@ -478,26 +480,31 @@ public class Modules implements Iterable { for (String parent : m.getParentNames()) { - if (modules.containsKey(parent) || missingModules.contains(parent)) + String expanded = args.getProperties().expand(parent); + if (modules.containsKey(expanded) || missingModules.contains(parent) || expandedModules.contains(parent)) { continue; // found. skip it. } done = false; + StartLog.debug("Missing parent module %s == %s for %s",parent,expanded,m); missingParents.add(parent); } } for (String missingParent : missingParents) { - Path file = baseHome.getPath("modules/" + missingParent + ".mod"); + String expanded = args.getProperties().expand(missingParent); + Path file = baseHome.getPath("modules/" + expanded + ".mod"); if (FS.canReadFile(file)) { Module module = registerModule(file); updateParentReferencesTo(module); + if (!expanded.equals(missingParent)) + expandedModules.add(missingParent); } else { - StartLog.debug("Missing module definition: [ Mod: %s | File: %s ]",missingParent,file); + StartLog.debug("Missing module definition: %s == %s",missingParent,expanded); missingModules.add(missingParent); } }