src/jdk.jpackage/share/classes/jdk/jpackage/internal/StandardBundlerParam.java
branchJDK-8200758-branch
changeset 58695 64adf683bc7b
parent 58670 6fb9e12d5595
child 58992 7249e95cc439
--- a/src/jdk.jpackage/share/classes/jdk/jpackage/internal/StandardBundlerParam.java	Thu Oct 17 08:00:37 2019 -0400
+++ b/src/jdk.jpackage/share/classes/jdk/jpackage/internal/StandardBundlerParam.java	Fri Oct 18 11:00:57 2019 -0400
@@ -156,10 +156,8 @@
                         String s = (String) params.get(
                                 BundleParams.PARAM_APPLICATION_CLASS);
                         if (s == null) {
-                            s = JLinkBundlerHelper.getMainClass(params);
-                            if (s.length() == 0) {
-                                s = null;
-                            }
+                            s = JLinkBundlerHelper.getMainClassFromModule(
+                                    params);
                         }
                         return s;
                     },
@@ -638,25 +636,31 @@
         boolean hasAppImage = params.containsKey(PREDEFINED_APP_IMAGE.getID());
 
         if (hasMainClass && hasMainJar && hasMainJarClassPath ||
-               hasModule || hasAppImage || isRuntimeInstaller(params)) {
+               hasAppImage || isRuntimeInstaller(params)) {
             return;
         }
-
-        extractMainClassInfoFromAppResources(params);
-
-        if (!params.containsKey(MAIN_CLASS.getID())) {
-            if (hasMainJar) {
+        if (hasModule) {
+            if (JLinkBundlerHelper.getMainClassFromModule(params) == null) {
                 throw new ConfigException(
-                        MessageFormat.format(I18N.getString(
-                        "error.no-main-class-with-main-jar"),
-                        MAIN_JAR.fetchFrom(params)),
-                        MessageFormat.format(I18N.getString(
-                        "error.no-main-class-with-main-jar.advice"),
-                        MAIN_JAR.fetchFrom(params)));
-            } else {
-                throw new ConfigException(
-                        I18N.getString("error.no-main-class"),
-                        I18N.getString("error.no-main-class.advice"));
+                        I18N.getString("ERR_NoMainClass"), null);
+            }
+        } else {
+            extractMainClassInfoFromAppResources(params);
+
+            if (!params.containsKey(MAIN_CLASS.getID())) {
+                if (hasMainJar) {
+                    throw new ConfigException(
+                            MessageFormat.format(I18N.getString(
+                            "error.no-main-class-with-main-jar"),
+                            MAIN_JAR.fetchFrom(params)),
+                            MessageFormat.format(I18N.getString(
+                            "error.no-main-class-with-main-jar.advice"),
+                            MAIN_JAR.fetchFrom(params)));
+                } else {
+                    throw new ConfigException(
+                            I18N.getString("error.no-main-class"),
+                            I18N.getString("error.no-main-class.advice"));
+                }
             }
         }
     }