< prev index next >

src/jdk.jlink/share/classes/jdk/tools/jlink/internal/JlinkTask.java

Print this page

        

@@ -436,10 +436,21 @@
             throws IOException
     {
         Configuration cf = bindService ? config.resolveAndBind()
                                        : config.resolve();
 
+        ModuleFinder finder = config.finder();
+        for (String root : config.getModules()) {
+            Optional<ModuleReference> modRef = finder.find(root);
+            if (modRef.isPresent()) {
+                ModuleDescriptor modDesc = modRef.get().descriptor();
+                if (modDesc.isAutomatic()) {
+                    throw new IllegalArgumentException(taskHelper.getMessage("err.automatic.module.as.root", modDesc.name()));
+                }
+            }
+        }
+
         if (verbose && log != null) {
             // print modules to be linked in
             cf.modules().stream()
               .sorted(Comparator.comparing(ResolvedModule::name))
               .forEach(rm -> log.format("%s %s%n",
< prev index next >