diff -r 3b578a5976df -r 64adf683bc7b src/jdk.jpackage/share/classes/jdk/jpackage/internal/JLinkBundlerHelper.java --- a/src/jdk.jpackage/share/classes/jdk/jpackage/internal/JLinkBundlerHelper.java Thu Oct 17 08:00:37 2019 -0400 +++ b/src/jdk.jpackage/share/classes/jdk/jpackage/internal/JLinkBundlerHelper.java Fri Oct 18 11:00:57 2019 -0400 @@ -90,13 +90,13 @@ return result; } - static String getMainClass(Map params) { - String result = ""; + static String getMainClassFromModule(Map params) { String mainModule = StandardBundlerParam.MODULE.fetchFrom(params); if (mainModule != null) { + int index = mainModule.indexOf("/"); if (index > 0) { - result = mainModule.substring(index + 1); + return mainModule.substring(index + 1); } else { ModuleDescriptor descriptor = JLinkBundlerHelper.getMainModuleDescription(params); @@ -107,21 +107,12 @@ "message.module-class"), mainClass.get(), JLinkBundlerHelper.getMainModule(params))); - result = mainClass.get(); + return mainClass.get(); } } } - } else { - RelativeFileSet fileset = - StandardBundlerParam.MAIN_JAR.fetchFrom(params); - if (fileset != null) { - result = StandardBundlerParam.MAIN_CLASS.fetchFrom(params); - } else { - // possibly app-image - } } - - return result; + return null; } static String getMainModule(Map params) { @@ -152,11 +143,6 @@ AbstractAppImageBuilder imageBuilder) throws IOException, Exception { - // we might be able to build it (with no main class) but it won't run - if (StandardBundlerParam.MAIN_CLASS.fetchFrom(params) == null) { - throw new PackagerException("ERR_NoMainClass"); - } - List modulePath = StandardBundlerParam.MODULE_PATH.fetchFrom(params); Set addModules =