8217894: jpackage CLI syntax changes JDK-8200758-branch
authorherrick
Wed, 06 Feb 2019 09:00:28 -0500
branchJDK-8200758-branch
changeset 57150 fa68c2ab636d
parent 57141 e7ba8c89abe7
child 57151 38d0b67617e3
8217894: jpackage CLI syntax changes Reviewed-by: almatvee
src/jdk.jpackage/linux/classes/jdk/jpackage/internal/LinuxAppBundler.java
src/jdk.jpackage/linux/classes/jdk/jpackage/internal/LinuxDebBundler.java
src/jdk.jpackage/linux/classes/jdk/jpackage/internal/LinuxRpmBundler.java
src/jdk.jpackage/linux/classes/jdk/jpackage/internal/resources/template.postinst
src/jdk.jpackage/linux/classes/jdk/jpackage/internal/resources/template.prerm
src/jdk.jpackage/linux/classes/jdk/jpackage/internal/resources/template.spec
src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacAppBundler.java
src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacAppImageBuilder.java
src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacAppStoreBundler.java
src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacDmgBundler.java
src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacPkgBundler.java
src/jdk.jpackage/share/classes/jdk/jpackage/internal/AbstractImageBundler.java
src/jdk.jpackage/share/classes/jdk/jpackage/internal/Arguments.java
src/jdk.jpackage/share/classes/jdk/jpackage/internal/Bundler.java
src/jdk.jpackage/share/classes/jdk/jpackage/internal/DeployParams.java
src/jdk.jpackage/share/classes/jdk/jpackage/internal/StandardBundlerParam.java
src/jdk.jpackage/share/classes/jdk/jpackage/internal/ValidOptions.java
src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/HelpResources.properties
src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/HelpResources_ja.properties
src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/HelpResources_zh_CN.properties
src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/MainResources.properties
src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/MainResources_ja.properties
src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/MainResources_zh_CN.properties
src/jdk.jpackage/windows/classes/jdk/jpackage/internal/WinAppBundler.java
src/jdk.jpackage/windows/classes/jdk/jpackage/internal/WinExeBundler.java
src/jdk.jpackage/windows/classes/jdk/jpackage/internal/WinMsiBundler.java
test/jdk/tools/jpackage/JPackageInvalidArgTest.java
test/jdk/tools/jpackage/JPackageMissingArgumentsTest.java
test/jdk/tools/jpackage/createimage/JPackageCreateImageArgumentsModuleTest.java
test/jdk/tools/jpackage/createimage/JPackageCreateImageArgumentsTest.java
test/jdk/tools/jpackage/createimage/JPackageCreateImageBuildRootTest.java
test/jdk/tools/jpackage/createimage/JPackageCreateImageForceTest.java
test/jdk/tools/jpackage/createimage/JPackageCreateImageIconTest.java
test/jdk/tools/jpackage/createimage/JPackageCreateImageInputFilesTest.java
test/jdk/tools/jpackage/createimage/JPackageCreateImageJVMArgsModuleTest.java
test/jdk/tools/jpackage/createimage/JPackageCreateImageJVMArgsTest.java
test/jdk/tools/jpackage/createimage/JPackageCreateImageMainClassAttributeTest.java
test/jdk/tools/jpackage/createimage/JPackageCreateImageModuleTest.java
test/jdk/tools/jpackage/createimage/JPackageCreateImageNoNameTest.java
test/jdk/tools/jpackage/createimage/JPackageCreateImageRuntimeModuleTest.java
test/jdk/tools/jpackage/createimage/JPackageCreateImageRuntimeTest.java
test/jdk/tools/jpackage/createimage/JPackageCreateImageSecondaryLauncherModuleTest.java
test/jdk/tools/jpackage/createimage/JPackageCreateImageSecondaryLauncherTest.java
test/jdk/tools/jpackage/createimage/JPackageCreateImageStripNativeCommandsTest.java
test/jdk/tools/jpackage/createimage/JPackageCreateImageTest.java
test/jdk/tools/jpackage/createimage/JPackageCreateImageVerboseTest.java
test/jdk/tools/jpackage/createimage/JPackageCreateImageVersionTest.java
test/jdk/tools/jpackage/createinstaller/linux/base/JPackageCreateInstallerBase.java
test/jdk/tools/jpackage/createinstaller/linux/base/JPackageCreateInstallerBundleNameBase.java
test/jdk/tools/jpackage/createinstaller/linux/base/JPackageCreateInstallerFileAssociationsBase.java
test/jdk/tools/jpackage/createinstaller/linux/base/JPackageCreateInstallerInstallDirBase.java
test/jdk/tools/jpackage/createinstaller/linux/base/JPackageCreateInstallerLicenseBase.java
test/jdk/tools/jpackage/createinstaller/linux/base/JPackageCreateInstallerLicenseTypeBase.java
test/jdk/tools/jpackage/createinstaller/linux/base/JPackageCreateInstallerMaintainerBase.java
test/jdk/tools/jpackage/createinstaller/linux/base/JPackageCreateInstallerPackageDepsBase.java
test/jdk/tools/jpackage/createinstaller/macosx/base/JPackageCreateInstallerBase.java
test/jdk/tools/jpackage/createinstaller/macosx/base/JPackageCreateInstallerFileAssociationsBase.java
test/jdk/tools/jpackage/createinstaller/macosx/base/JPackageCreateInstallerInstallDirBase.java
test/jdk/tools/jpackage/createinstaller/macosx/base/JPackageCreateInstallerLicenseBase.java
test/jdk/tools/jpackage/createinstaller/windows/base/JPackageCreateInstallerBase.java
test/jdk/tools/jpackage/createinstaller/windows/base/JPackageCreateInstallerFileAssociationsBase.java
test/jdk/tools/jpackage/createinstaller/windows/base/JPackageCreateInstallerLicenseBase.java
test/jdk/tools/jpackage/createinstaller/windows/base/JPackageCreateInstallerWinDirChooserBase.java
test/jdk/tools/jpackage/createinstaller/windows/base/JPackageCreateInstallerWinMenuBase.java
test/jdk/tools/jpackage/createinstaller/windows/base/JPackageCreateInstallerWinMenuGroupBase.java
test/jdk/tools/jpackage/createinstaller/windows/base/JPackageCreateInstallerWinPerUserInstallBase.java
test/jdk/tools/jpackage/createinstaller/windows/base/JPackageCreateInstallerWinRegistryNameBase.java
test/jdk/tools/jpackage/createinstaller/windows/base/JPackageCreateInstallerWinShortcutBase.java
--- a/src/jdk.jpackage/linux/classes/jdk/jpackage/internal/LinuxAppBundler.java	Mon Feb 04 15:00:29 2019 -0500
+++ b/src/jdk.jpackage/linux/classes/jdk/jpackage/internal/LinuxAppBundler.java	Wed Feb 06 09:00:28 2019 -0500
@@ -131,7 +131,7 @@
 
     File doBundle(Map<String, ? super Object> p, File outputDirectory,
             boolean dependentTask) throws PackagerException {
-        if (Arguments.CREATE_JRE_INSTALLER.fetchFrom(p)) {
+        if (RUNTIME_INSTALLER.fetchFrom(p)) {
             return doJreBundle(p, outputDirectory, dependentTask);
         } else {
             return doAppBundle(p, outputDirectory, dependentTask);
@@ -228,7 +228,7 @@
     }
 
     @Override
-    public boolean supported() {
+    public boolean supported(boolean runtimeInstaller) {
         return (Platform.getPlatform() == Platform.LINUX);
     }
 }
--- a/src/jdk.jpackage/linux/classes/jdk/jpackage/internal/LinuxDebBundler.java	Mon Feb 04 15:00:29 2019 -0500
+++ b/src/jdk.jpackage/linux/classes/jdk/jpackage/internal/LinuxDebBundler.java	Wed Feb 06 09:00:28 2019 -0500
@@ -410,7 +410,7 @@
 
         File iconTarget = getConfig_IconFile(rootDir, params);
         File icon = ICON_PNG.fetchFrom(params);
-        if (!Arguments.CREATE_JRE_INSTALLER.fetchFrom(params)) {
+        if (!RUNTIME_INSTALLER.fetchFrom(params)) {
             // prepare installer icon
             if (icon == null || !icon.exists()) {
                 fetchResource(iconTarget.getName(),
@@ -439,7 +439,7 @@
                     data.get("APPLICATION_FS_NAME"));
             secondaryLauncherData.put("DESKTOP_MIMES", "");
 
-            if (!Arguments.CREATE_JRE_INSTALLER.fetchFrom(params)) {
+            if (!RUNTIME_INSTALLER.fetchFrom(params)) {
                 // prepare desktop shortcut
                 Writer w = new BufferedWriter(new FileWriter(
                         getConfig_DesktopShortcutFile(
@@ -640,7 +640,7 @@
             }
         }
 
-        if (!Arguments.CREATE_JRE_INSTALLER.fetchFrom(params)) {
+        if (!RUNTIME_INSTALLER.fetchFrom(params)) {
             //prepare desktop shortcut
             Writer w = new BufferedWriter(new FileWriter(
                     getConfig_DesktopShortcutFile(rootDir, params)));
@@ -756,8 +756,8 @@
         String deps = LINUX_PACKAGE_DEPENDENCIES.fetchFrom(params);
         data.put("PACKAGE_DEPENDENCIES",
                 deps.isEmpty() ? "" : "Depends: " + deps);
-        data.put("CREATE_JRE_INSTALLER",
-                Arguments.CREATE_JRE_INSTALLER.fetchFrom(params).toString());
+        data.put("RUNTIME_INSTALLER",
+                RUNTIME_INSTALLER.fetchFrom(params).toString());
 
         return data;
     }
@@ -874,7 +874,7 @@
     }
 
     @Override
-    public boolean supported() {
+    public boolean supported(boolean runtimeInstaller) {
         return (Platform.getPlatform() == Platform.LINUX);
     }
 
--- a/src/jdk.jpackage/linux/classes/jdk/jpackage/internal/LinuxRpmBundler.java	Mon Feb 04 15:00:29 2019 -0500
+++ b/src/jdk.jpackage/linux/classes/jdk/jpackage/internal/LinuxRpmBundler.java	Wed Feb 06 09:00:28 2019 -0500
@@ -316,7 +316,7 @@
         // prepare installer icon
         File iconTarget = getConfig_IconFile(rootDir, params);
         File icon = LinuxAppBundler.ICON_PNG.fetchFrom(params);
-        if (!Arguments.CREATE_JRE_INSTALLER.fetchFrom(params)) {
+        if (!RUNTIME_INSTALLER.fetchFrom(params)) {
             if (icon == null || !icon.exists()) {
                 fetchResource(iconTarget.getName(),
                         I18N.getString("resource.menu-icon"),
@@ -544,7 +544,7 @@
             }
         }
 
-        if (!Arguments.CREATE_JRE_INSTALLER.fetchFrom(params)) {
+        if (!RUNTIME_INSTALLER.fetchFrom(params)) {
             //prepare desktop shortcut
             Writer w = new BufferedWriter(new FileWriter(
                     getConfig_DesktopShortcutFile(rootDir, params)));
@@ -594,8 +594,8 @@
         String deps = LINUX_PACKAGE_DEPENDENCIES.fetchFrom(params);
         data.put("PACKAGE_DEPENDENCIES",
                 deps.isEmpty() ? "" : "Requires: " + deps);
-        data.put("CREATE_JRE_INSTALLER",
-                Arguments.CREATE_JRE_INSTALLER.fetchFrom(params).toString());
+        data.put("RUNTIME_INSTALLER",
+                RUNTIME_INSTALLER.fetchFrom(params).toString());
         return data;
     }
 
@@ -708,7 +708,7 @@
     }
 
     @Override
-    public boolean supported() {
+    public boolean supported(boolean runtimeInstaller) {
         return (Platform.getPlatform() == Platform.LINUX);
     }
 
--- a/src/jdk.jpackage/linux/classes/jdk/jpackage/internal/resources/template.postinst	Mon Feb 04 15:00:29 2019 -0500
+++ b/src/jdk.jpackage/linux/classes/jdk/jpackage/internal/resources/template.postinst	Wed Feb 06 09:00:28 2019 -0500
@@ -19,7 +19,7 @@
 
 case "$1" in
     configure)
-        if [ "CREATE_JRE_INSTALLER" != "true" ]; then
+        if [ "RUNTIME_INSTALLER" != "true" ]; then
             echo Adding shortcut to the menu
 SECONDARY_LAUNCHERS_INSTALL
             xdg-desktop-menu install --novendor INSTALLATION_DIRECTORY/APPLICATION_FS_NAME/APPLICATION_LAUNCHER_FILENAME.desktop
--- a/src/jdk.jpackage/linux/classes/jdk/jpackage/internal/resources/template.prerm	Mon Feb 04 15:00:29 2019 -0500
+++ b/src/jdk.jpackage/linux/classes/jdk/jpackage/internal/resources/template.prerm	Wed Feb 06 09:00:28 2019 -0500
@@ -19,7 +19,7 @@
 
 case "$1" in
     remove|upgrade|deconfigure)
-        if [ "CREATE_JRE_INSTALLER" != "true" ]; then
+        if [ "RUNTIME_INSTALLER" != "true" ]; then
             echo Removing shortcut
 SECONDARY_LAUNCHERS_REMOVE
             xdg-desktop-menu uninstall --novendor INSTALLATION_DIRECTORY/APPLICATION_FS_NAME/APPLICATION_LAUNCHER_FILENAME.desktop
--- a/src/jdk.jpackage/linux/classes/jdk/jpackage/internal/resources/template.spec	Mon Feb 04 15:00:29 2019 -0500
+++ b/src/jdk.jpackage/linux/classes/jdk/jpackage/internal/resources/template.spec	Wed Feb 06 09:00:28 2019 -0500
@@ -35,14 +35,14 @@
 INSTALLATION_DIRECTORY/APPLICATION_FS_NAME
 
 %post
-if [ "CREATE_JRE_INSTALLER" != "true" ]; then
+if [ "RUNTIME_INSTALLER" != "true" ]; then
 SECONDARY_LAUNCHERS_INSTALL
     xdg-desktop-menu install --novendor INSTALLATION_DIRECTORY/APPLICATION_FS_NAME/APPLICATION_LAUNCHER_FILENAME.desktop
 FILE_ASSOCIATION_INSTALL
 fi
 
 %preun
-if [ "CREATE_JRE_INSTALLER" != "true" ]; then
+if [ "RUNTIME_INSTALLER" != "true" ]; then
 SECONDARY_LAUNCHERS_REMOVE
     xdg-desktop-menu uninstall --novendor INSTALLATION_DIRECTORY/APPLICATION_FS_NAME/APPLICATION_LAUNCHER_FILENAME.desktop
 FILE_ASSOCIATION_REMOVE
--- a/src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacAppBundler.java	Mon Feb 04 15:00:29 2019 -0500
+++ b/src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacAppBundler.java	Wed Feb 06 09:00:28 2019 -0500
@@ -306,7 +306,7 @@
 
     File doBundle(Map<String, ? super Object> p, File outputDirectory,
             boolean dependentTask) throws PackagerException {
-        if (Arguments.CREATE_JRE_INSTALLER.fetchFrom(p)) {
+        if (RUNTIME_INSTALLER.fetchFrom(p)) {
             return doJreBundle(p, outputDirectory, dependentTask);
         } else {
             return doAppBundle(p, outputDirectory, dependentTask);
@@ -416,7 +416,7 @@
     }
 
     @Override
-    public boolean supported() {
+    public boolean supported(boolean runtimeInstaller) {
         return Platform.getPlatform() == Platform.MAC;
     }
 
--- a/src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacAppImageBuilder.java	Mon Feb 04 15:00:29 2019 -0500
+++ b/src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacAppImageBuilder.java	Wed Feb 06 09:00:28 2019 -0500
@@ -481,11 +481,11 @@
 
     private void writeRuntimeInfoPlist(File file) throws IOException {
         Map<String, String> data = new HashMap<>();
-        String identifier = Arguments.CREATE_JRE_INSTALLER.fetchFrom(params) ?
+        String identifier = RUNTIME_INSTALLER.fetchFrom(params) ?
                 MAC_CF_BUNDLE_IDENTIFIER.fetchFrom(params) :
                 "com.oracle.java." + MAC_CF_BUNDLE_IDENTIFIER.fetchFrom(params);
         data.put("CF_BUNDLE_IDENTIFIER", identifier);
-        String name = Arguments.CREATE_JRE_INSTALLER.fetchFrom(params) ?
+        String name = RUNTIME_INSTALLER.fetchFrom(params) ?
                 getBundleName(params): "Java Runtime Image";
         data.put("CF_BUNDLE_NAME", name);
         data.put("CF_BUNDLE_VERSION", VERSION.fetchFrom(params));
--- a/src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacAppStoreBundler.java	Mon Feb 04 15:00:29 2019 -0500
+++ b/src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacAppStoreBundler.java	Wed Feb 06 09:00:28 2019 -0500
@@ -368,8 +368,8 @@
     }
 
     @Override
-    public boolean supported() {
-        return !Arguments.isJreInstaller() &&
-                Platform.getPlatform() == Platform.MAC;
+    public boolean supported(boolean runtimeInstaller) {
+        return (!runtimeInstaller &&
+                Platform.getPlatform() == Platform.MAC);
     }
 }
--- a/src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacDmgBundler.java	Mon Feb 04 15:00:29 2019 -0500
+++ b/src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacDmgBundler.java	Wed Feb 06 09:00:28 2019 -0500
@@ -479,7 +479,7 @@
     }
 
     @Override
-    public boolean supported() {
+    public boolean supported(boolean runtimeInstaller) {
         return Platform.getPlatform() == Platform.MAC;
     }
 }
--- a/src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacPkgBundler.java	Mon Feb 04 15:00:29 2019 -0500
+++ b/src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/MacPkgBundler.java	Wed Feb 06 09:00:28 2019 -0500
@@ -495,7 +495,7 @@
     }
 
     @Override
-    public boolean supported() {
+    public boolean supported(boolean runtimeInstaller) {
         return Platform.getPlatform() == Platform.MAC;
     }
 
--- a/src/jdk.jpackage/share/classes/jdk/jpackage/internal/AbstractImageBundler.java	Mon Feb 04 15:00:29 2019 -0500
+++ b/src/jdk.jpackage/share/classes/jdk/jpackage/internal/AbstractImageBundler.java	Wed Feb 06 09:00:28 2019 -0500
@@ -63,9 +63,9 @@
         boolean hasMainModule =
                 StandardBundlerParam.MODULE.fetchFrom(p) != null;
         boolean hasMainClass = MAIN_CLASS.fetchFrom(p) != null;
-        boolean jreInstaller = Arguments.CREATE_JRE_INSTALLER.fetchFrom(p);
+        boolean runtime = RUNTIME_INSTALLER.fetchFrom(p);
 
-        if (!hasMainJar && !hasMainModule && !hasMainClass && !jreInstaller) {
+        if (!hasMainJar && !hasMainModule && !hasMainClass && !runtime) {
             throw new ConfigException(
                     I18N.getString("error.no-application-class"),
                     I18N.getString("error.no-application-class.advice"));
@@ -143,7 +143,7 @@
         File rootDirectory = new File(outputDirectory, name);
 
         if (rootDirectory.exists()) {
-            if (!(FORCE.fetchFrom(p))) {
+            if (!(OVERWRITE.fetchFrom(p))) {
                 throw new PackagerException("error.root-exists-without-force",
                         rootDirectory.getAbsolutePath());
             }
--- a/src/jdk.jpackage/share/classes/jdk/jpackage/internal/Arguments.java	Mon Feb 04 15:00:29 2019 -0500
+++ b/src/jdk.jpackage/share/classes/jdk/jpackage/internal/Arguments.java	Wed Feb 06 09:00:28 2019 -0500
@@ -66,7 +66,6 @@
 
     private static final String IMAGE_MODE = "image";
     private static final String INSTALLER_MODE = "installer";
-    private static final String JRE_INSTALLER_MODE = "jre-installer";
 
     private static final String FA_EXTENSIONS = "extension";
     private static final String FA_CONTENT_TYPE = "mime-type";
@@ -93,16 +92,6 @@
                     (s, p) -> (s == null || "null".equalsIgnoreCase(s)) ?
                             true : Boolean.valueOf(s));
 
-    public static final BundlerParamInfo<Boolean> CREATE_JRE_INSTALLER =
-            new StandardBundlerParam<>(
-                    I18N.getString("param.create-jre-installer.name"),
-                    I18N.getString("param.create-jre-installer.description"),
-                    JRE_INSTALLER_MODE,
-                    Boolean.class,
-                    p -> Boolean.FALSE,
-                    (s, p) -> (s == null || "null".equalsIgnoreCase(s)) ?
-                            true : Boolean.valueOf(s));
-
     // regexp for parsing args (for example, for secondary launchers)
     private static Pattern pattern = Pattern.compile(
           "(?:(?:([\"'])(?:\\\\\\1|.)*?(?:\\1|$))|(?:\\\\[\"'\\s]|[^\\s]))++");
@@ -130,7 +119,7 @@
     private String buildRoot = null;
     private String mainJarPath = null;
 
-    private static boolean jreInstaller = false;
+    private static boolean runtimeInstaller = false;
 
     private List<jdk.jpackage.internal.Bundler> platformBundlers = null;
 
@@ -167,34 +156,20 @@
             setOptionValue(INSTALLER_MODE, true);
             context().bundleType = BundlerType.INSTALLER;
             String format = "installer";
-            if (hasNextArg()) {
-                String arg = popArg();
-                if (!arg.startsWith("-")) {
-                    format = arg.toLowerCase();
-                    context().hasTargetFormat = true;
-                } else {
-                    prevArg();
-                }
-            }
             context().deployParams.setTargetFormat(format);
         }),
 
-        CREATE_JRE_INSTALLER(JRE_INSTALLER_MODE, OptionCategories.MODE, () -> {
-            setOptionValue(JRE_INSTALLER_MODE, true);
-            context().bundleType = BundlerType.INSTALLER;
-            String format = "installer";
-            if (hasNextArg()) {
-                String arg = popArg();
-                if (!arg.startsWith("-")) {
-                    format = arg.toLowerCase();
-                    context().hasTargetFormat = true;
-                } else {
-                    prevArg();
-                }
-            }
-            jreInstaller = true;
-            context().deployParams.setTargetFormat(format);
-            context().deployParams.setJreInstaller(true);
+        RUNTIME_INSTALLER("runtime-installer",
+                OptionCategories.PROPERTY, () -> {
+            runtimeInstaller = true;
+            setOptionValue("runtime-installer", true);
+        }),
+
+        INSTALLER_TYPE("installer-type", OptionCategories.PROPERTY, () -> {
+            String type = popArg();
+            context().deployParams.setTargetFormat(type);
+            context().hasTargetFormat = true;
+            setOptionValue("installer-type", type);
         }),
 
         INPUT ("input", "i", OptionCategories.PROPERTY, () -> {
@@ -211,9 +186,9 @@
 
         VENDOR ("vendor", OptionCategories.PROPERTY),
 
-        APPCLASS ("class", "c", OptionCategories.PROPERTY, () -> {
+        APPCLASS ("main-class", "c", OptionCategories.PROPERTY, () -> {
             context().hasMainClass = true;
-            setOptionValue("class", popArg());
+            setOptionValue("main-class", popArg());
         }),
 
         NAME ("name", "n", OptionCategories.PROPERTY),
@@ -225,8 +200,8 @@
             Log.setVerbose(true);
         }),
 
-        FORCE ("force", OptionCategories.PROPERTY, () -> {
-            setOptionValue("force", true);
+        OVERWRITE ("overwrite", OptionCategories.PROPERTY, () -> {
+            setOptionValue("overwrite", true);
         }),
 
         RESOURCE_DIR("resource-dir",
@@ -338,8 +313,6 @@
 
         MODULE_PATH ("module-path", "p", OptionCategories.MODULAR),
 
-        LIMIT_MODULES ("limit-modules", OptionCategories.MODULAR),
-
         MAC_SIGN ("mac-sign", "s", OptionCategories.PLATFORM_MAC, () -> {
             setOptionValue("mac-sign", true);
         }),
@@ -571,7 +544,8 @@
                     }
                 }
             } else {
-               Log.error("Can not find argument file: " + f);
+                Log.info(MessageFormat.format(I18N.getString(
+                        "warning.missing.arg.file"), f));
             }
         } catch (IOException ioe) {
             Log.verbose(ioe.getMessage());
@@ -603,15 +577,10 @@
 
             if (allOptions.isEmpty() || !allOptions.get(0).isMode()) {
                 // first argument should always be a mode.
-                Log.error("ERROR: Mode is not specified");
-                return false;
+                throw new PackagerException("ERR_MissingMode");
             }
 
-            if (!hasAppImage && !hasMainJar && !hasMainModule &&
-                    !hasMainClass && !jreInstaller) {
-                Log.error("ERROR: Main jar, main class, main module, "
-                        + "or app-image must be specified.");
-            } else if (!hasMainModule && !hasMainClass) {
+            if (hasMainJar && !hasMainClass) {
                 // try to get main-class from manifest
                 String mainClass = getMainClassFromManifest();
                 if (mainClass != null) {
@@ -666,7 +635,7 @@
                 }
                 usedNames.add(slName);
             }
-            if (jreInstaller && bp.getName() == null) {
+            if (runtimeInstaller && bp.getName() == null) {
                 throw new PackagerException("ERR_NoJreInstallerName");
             }
 
@@ -709,7 +678,7 @@
                     bundler.getID())) {
                 continue;
             }
-            if (bundler.supported()) {
+            if (bundler.supported(runtimeInstaller)) {
                  platformBundlers.add(bundler);
             }
         }
@@ -938,7 +907,4 @@
         return null;
     }
 
-    static boolean isJreInstaller() {
-        return jreInstaller;
-    }
 }
--- a/src/jdk.jpackage/share/classes/jdk/jpackage/internal/Bundler.java	Mon Feb 04 15:00:29 2019 -0500
+++ b/src/jdk.jpackage/share/classes/jdk/jpackage/internal/Bundler.java	Wed Feb 06 09:00:28 2019 -0500
@@ -129,5 +129,5 @@
     /**
      * Returns "true" if this bundler is supported on current platform.
      */
-    public boolean supported();
+    public boolean supported(boolean runtimeInstaller);
 }
--- a/src/jdk.jpackage/share/classes/jdk/jpackage/internal/DeployParams.java	Mon Feb 04 15:00:29 2019 -0500
+++ b/src/jdk.jpackage/share/classes/jdk/jpackage/internal/DeployParams.java	Wed Feb 06 09:00:28 2019 -0500
@@ -79,8 +79,6 @@
     String module = null;
     String debugPort = null;
 
-    boolean jreInstaller = false;
-
     File outdir = null;
 
     String appId = null;
@@ -202,10 +200,6 @@
         this.applicationClass = applicationClass;
     }
 
-    void setJreInstaller(boolean value) {
-        jreInstaller = value;
-    }
-
     File getOutput() {
         return outdir;
     }
@@ -359,6 +353,8 @@
                 Arguments.CLIOptions.MODULE_PATH.getId()) != null);
         boolean hasAppImage = (bundlerArguments.get(
                 Arguments.CLIOptions.PREDEFINED_APP_IMAGE.getId()) != null);
+        boolean runtimeInstaller = (bundlerArguments.get(
+                Arguments.CLIOptions.RUNTIME_INSTALLER.getId()) != null);
 
         if (getBundleType() == BundlerType.IMAGE) {
             // Module application requires --runtime-image or --module-path
@@ -374,7 +370,7 @@
                 }
             }
         } else if (getBundleType() == BundlerType.INSTALLER) {
-            if (!Arguments.isJreInstaller()) {
+            if (!runtimeInstaller) {
                 if (hasModule) {
                     if (!hasModulePath && !hasRuntimeImage && !hasAppImage) {
                         throw new PackagerException("ERR_MissingArgument",
@@ -391,12 +387,13 @@
 
         // if bundling non-modular image, or installer without app-image
         // then we need some resources and a main class
-        if (!hasModule && !hasImage && !jreInstaller) {
+        if (!hasModule && !hasImage && !runtimeInstaller) {
             if (resources.isEmpty()) {
                 throw new PackagerException("ERR_MissingAppResources");
             }
             if (!hasClass) {
-                throw new PackagerException("ERR_MissingArgument", "--class");
+                throw new PackagerException("ERR_MissingArgument",
+                        "--main-class");
             }
             if (!hasMain) {
                 throw new PackagerException("ERR_MissingArgument",
@@ -418,9 +415,7 @@
             }
 
             File appImageAppDir = new File(appImage + File.separator + "app");
-            File appImageRuntimeDir = new File(appImage
-                    + File.separator + "runtime");
-            if (!appImageAppDir.exists() || !appImageRuntimeDir.exists()) {
+            if (!appImageAppDir.exists()) {
                 throw new PackagerException("ERR_AppImageInvalid", appImage);
             }
         }
@@ -525,9 +520,6 @@
         BundleParams bundleParams = new BundleParams();
 
         // construct app resources relative to output folder!
-        String currentOS = System.getProperty("os.name").toLowerCase();
-        String currentArch = getArch();
-
         bundleParams.setAppResourcesList(resources);
 
         bundleParams.setIdentifier(id);
--- a/src/jdk.jpackage/share/classes/jdk/jpackage/internal/StandardBundlerParam.java	Mon Feb 04 15:00:29 2019 -0500
+++ b/src/jdk.jpackage/share/classes/jdk/jpackage/internal/StandardBundlerParam.java	Wed Feb 06 09:00:28 2019 -0500
@@ -161,6 +161,19 @@
                     (s, p) -> s.replace(File.pathSeparator, " ")
             );
 
+    static final StandardBundlerParam<Boolean> RUNTIME_INSTALLER  =
+            new StandardBundlerParam<>(
+                    "",
+                    "",
+                    Arguments.CLIOptions.RUNTIME_INSTALLER.getId(),
+                    Boolean.class,
+                    params -> false,
+                    // valueOf(null) is false, and we actually do want null
+                    (s, p) -> (s == null || "null".equalsIgnoreCase(s)) ?
+                            true : Boolean.valueOf(s)
+            );
+
+
     static final StandardBundlerParam<String> MAIN_CLASS =
             new StandardBundlerParam<>(
                     I18N.getString("param.main-class.name"),
@@ -168,7 +181,7 @@
                     Arguments.CLIOptions.APPCLASS.getId(),
                     String.class,
                     params -> {
-                        if (Arguments.CREATE_JRE_INSTALLER.fetchFrom(params)) {
+                        if (RUNTIME_INSTALLER.fetchFrom(params)) {
                             return null;
                         }
                         extractMainClassInfoFromAppResources(params);
@@ -383,11 +396,11 @@
                             true : Boolean.valueOf(s)
             );
 
-    static final StandardBundlerParam<Boolean> FORCE  =
+    static final StandardBundlerParam<Boolean> OVERWRITE  =
             new StandardBundlerParam<>(
                     I18N.getString("param.force.name"),
                     I18N.getString("param.force.description"),
-                    Arguments.CLIOptions.FORCE.getId(),
+                    Arguments.CLIOptions.OVERWRITE.getId(),
                     Boolean.class,
                     params -> false,
                     // valueOf(null) is false, and we actually do want null
@@ -572,7 +585,7 @@
             new StandardBundlerParam<>(
                     I18N.getString("param.limit-modules.name"),
                     I18N.getString("param.limit-modules.description"),
-                    Arguments.CLIOptions.LIMIT_MODULES.getId(),
+                    "limit-modules",
                     (Class<Set<String>>) (Object) Set.class,
                     p -> new LinkedHashSet<String>(),
                     (s, p) -> new LinkedHashSet<>(Arrays.asList(s.split(",")))
@@ -647,11 +660,11 @@
         boolean hasMainJar = params.containsKey(MAIN_JAR.getID());
         boolean hasMainJarClassPath = params.containsKey(CLASSPATH.getID());
         boolean hasModule = params.containsKey(MODULE.getID());
-        boolean jreInstaller =
-                params.containsKey(Arguments.CREATE_JRE_INSTALLER.getID());
+        boolean runtimeInstaller =
+                params.containsKey(RUNTIME_INSTALLER.getID());
 
         if (hasMainClass && hasMainJar && hasMainJarClassPath || hasModule ||
-                jreInstaller) {
+                runtimeInstaller) {
             return;
         }
 
@@ -735,11 +748,11 @@
         boolean hasMainJarClassPath = params.containsKey(CLASSPATH.getID());
         boolean hasModule = params.containsKey(MODULE.getID());
         boolean hasAppImage = params.containsKey(PREDEFINED_APP_IMAGE.getID());
-        boolean jreInstaller =
-                params.containsKey(Arguments.CREATE_JRE_INSTALLER.getID());
+        boolean runtimeInstaller =
+                params.containsKey(RUNTIME_INSTALLER.getID());
 
         if (hasMainClass && hasMainJar && hasMainJarClassPath ||
-               hasModule || jreInstaller || hasAppImage) {
+               hasModule || runtimeInstaller || hasAppImage) {
             return;
         }
 
--- a/src/jdk.jpackage/share/classes/jdk/jpackage/internal/ValidOptions.java	Mon Feb 04 15:00:29 2019 -0500
+++ b/src/jdk.jpackage/share/classes/jdk/jpackage/internal/ValidOptions.java	Wed Feb 06 09:00:28 2019 -0500
@@ -65,7 +65,7 @@
         add(CLIOptions.CREATE_IMAGE, CLIOptions.NAME);
         add(CLIOptions.CREATE_IMAGE, CLIOptions.IDENTIFIER);
         add(CLIOptions.CREATE_IMAGE, CLIOptions.VERBOSE);
-        add(CLIOptions.CREATE_IMAGE, CLIOptions.FORCE);
+        add(CLIOptions.CREATE_IMAGE, CLIOptions.OVERWRITE);
         add(CLIOptions.CREATE_IMAGE, CLIOptions.FILES);
         add(CLIOptions.CREATE_IMAGE, CLIOptions.ARGUMENTS);
         add(CLIOptions.CREATE_IMAGE, CLIOptions.STRIP_NATIVE_COMMANDS);
@@ -79,7 +79,6 @@
         add(CLIOptions.CREATE_IMAGE, CLIOptions.MODULE);
         add(CLIOptions.CREATE_IMAGE, CLIOptions.ADD_MODULES);
         add(CLIOptions.CREATE_IMAGE, CLIOptions.MODULE_PATH);
-        add(CLIOptions.CREATE_IMAGE, CLIOptions.LIMIT_MODULES);
         add(CLIOptions.CREATE_IMAGE, CLIOptions.RESOURCE_DIR);
 
         if (Platform.getPlatform() == Platform.MAC) {
@@ -101,15 +100,17 @@
         }
 
         // add options for CREATE_INSTALLER
-
-        // add all CREATE_IMAGE options for CREATE_JRE_INSTALLER
+        // (start with all options for CREATE_IMAGE)
         Set<CLIOptions> imageOptions = options.get(CLIOptions.CREATE_IMAGE);
         imageOptions.forEach(o -> add(CLIOptions.CREATE_INSTALLER, o));
 
+        add(CLIOptions.CREATE_INSTALLER, CLIOptions.RUNTIME_INSTALLER);
+        add(CLIOptions.CREATE_INSTALLER, CLIOptions.INSTALLER_TYPE);
         add(CLIOptions.CREATE_INSTALLER, CLIOptions.LICENSE_FILE);
         add(CLIOptions.CREATE_INSTALLER, CLIOptions.FILE_ASSOCIATIONS);
         add(CLIOptions.CREATE_INSTALLER, CLIOptions.INSTALL_DIR);
         add(CLIOptions.CREATE_INSTALLER, CLIOptions.PREDEFINED_APP_IMAGE);
+        add(CLIOptions.CREATE_INSTALLER, CLIOptions.INSTALLER_TYPE);
 
         if (Platform.getPlatform() == Platform.MAC) {
             add(CLIOptions.CREATE_INSTALLER, CLIOptions.MAC_APP_STORE_CATEGORY);
@@ -142,59 +143,6 @@
             add(CLIOptions.CREATE_INSTALLER, CLIOptions.WIN_CONSOLE_HINT);
         }
 
-        // add options for CREATE_JRE_INSTALLER
-
-        add(CLIOptions.CREATE_JRE_INSTALLER, CLIOptions.INPUT);
-        add(CLIOptions.CREATE_JRE_INSTALLER, CLIOptions.OUTPUT);
-        add(CLIOptions.CREATE_JRE_INSTALLER, CLIOptions.NAME);
-        add(CLIOptions.CREATE_JRE_INSTALLER, CLIOptions.VERBOSE);
-        add(CLIOptions.CREATE_JRE_INSTALLER, CLIOptions.FILES);
-        add(CLIOptions.CREATE_JRE_INSTALLER, CLIOptions.STRIP_NATIVE_COMMANDS);
-        add(CLIOptions.CREATE_JRE_INSTALLER, CLIOptions.LICENSE_FILE);
-        add(CLIOptions.CREATE_JRE_INSTALLER, CLIOptions.VERSION);
-        add(CLIOptions.CREATE_JRE_INSTALLER, CLIOptions.BUILD_ROOT);
-        add(CLIOptions.CREATE_JRE_INSTALLER, CLIOptions.INSTALL_DIR);
-        add(CLIOptions.CREATE_JRE_INSTALLER,
-                    CLIOptions.PREDEFINED_RUNTIME_IMAGE);
-        add(CLIOptions.CREATE_JRE_INSTALLER, CLIOptions.ADD_MODULES);
-        add(CLIOptions.CREATE_JRE_INSTALLER, CLIOptions.MODULE_PATH);
-        add(CLIOptions.CREATE_JRE_INSTALLER, CLIOptions.LIMIT_MODULES);
-
-        if (Platform.getPlatform() == Platform.MAC) {
-            add(CLIOptions.CREATE_JRE_INSTALLER, CLIOptions.MAC_SIGN);
-            add(CLIOptions.CREATE_JRE_INSTALLER, CLIOptions.MAC_BUNDLE_NAME);
-            add(CLIOptions.CREATE_JRE_INSTALLER,
-                    CLIOptions.MAC_BUNDLE_IDENTIFIER);
-            add(CLIOptions.CREATE_JRE_INSTALLER,
-                    CLIOptions.MAC_BUNDLE_SIGNING_PREFIX);
-            add(CLIOptions.CREATE_JRE_INSTALLER,
-                    CLIOptions.MAC_SIGNING_KEY_NAME);
-            add(CLIOptions.CREATE_JRE_INSTALLER,
-                    CLIOptions.MAC_SIGNING_KEYCHAIN);
-        }
-
-        if (Platform.getPlatform() == Platform.WINDOWS) {
-            add(CLIOptions.CREATE_JRE_INSTALLER,
-                    CLIOptions.WIN_PER_USER_INSTALLATION);
-            add(CLIOptions.CREATE_JRE_INSTALLER, CLIOptions.WIN_DIR_CHOOSER);
-            add(CLIOptions.CREATE_JRE_INSTALLER,
-                    CLIOptions.WIN_UPGRADE_UUID);
-            add(CLIOptions.CREATE_JRE_INSTALLER, CLIOptions.DESCRIPTION);
-            add(CLIOptions.CREATE_JRE_INSTALLER, CLIOptions.VENDOR);
-        }
-
-        if (Platform.getPlatform() == Platform.LINUX) {
-            add(CLIOptions.CREATE_JRE_INSTALLER, CLIOptions.LINUX_BUNDLE_NAME);
-            add(CLIOptions.CREATE_JRE_INSTALLER,
-                    CLIOptions.LINUX_DEB_MAINTAINER);
-            add(CLIOptions.CREATE_JRE_INSTALLER,
-                    CLIOptions.LINUX_PACKAGE_DEPENDENCIES);
-            add(CLIOptions.CREATE_JRE_INSTALLER, CLIOptions.DESCRIPTION);
-            add(CLIOptions.CREATE_JRE_INSTALLER, CLIOptions.VENDOR);
-            add(CLIOptions.CREATE_JRE_INSTALLER,
-                    CLIOptions.LINUX_RPM_LICENSE_TYPE);
-        }
-
         argsInitialized = true;
     }
 
--- a/src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/HelpResources.properties	Mon Feb 04 15:00:29 2019 -0500
+++ b/src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/HelpResources.properties	Wed Feb 06 09:00:28 2019 -0500
@@ -29,40 +29,31 @@
 where mode is one of: \n\
 \  create-image\n\
 \          Generates a platform-specific application image.\n\
-\  create-installer <type>\n\
+\  create-installer\n\
 \          Generates a platform-specific installer for the application.\n\
-\          Valid values for "type" are "msi", "exe", "rpm", "deb", "dmg",\n\
-\                           "pkg", and "pkg-app-store".\n\
-\          If "type" is omitted, all supported types of installable\n\
-\          packages for the current platform will be generated.\n\
-\  create-jre-installer <type>\n\
-\          Generates a platform-specific installer for JRE.\n\
-\          Valid values for "type" are "msi", "exe", "rpm", "deb", "dmg", \n\
-\                           and "pkg".\n\
-\          If "type" is omitted, all supported types of installable\n\
-\          packages for the current platform will be generated.\n\
 \          \n\
 Sample usages:\n\
 --------------\n\
-\    Generate an application image from a non-modular jar file:\n\
+\    Generate a modular application image:\n\
+\        jpackage create-image --output outputdir --name AppName \\\n\
+\            --main-class package.ClassName -module moduleName -p modulePath\n\
+\        jpackage create-image --o outputdir -n AppName \\\n\
+\            -c package.ClassName -m moduleName -p modulePath\n\
+\    Generate a non-modular application image:\n\
 \        jpackage create-image --input inputdir --output outputdir \\\n\
-\            --name AppName --class package.ClassName --main-jar MyJar.jar\n\
+\            --name AppName --main-class package.ClassName --main-jar MyJar.jar\n\
 \        jpackage create-image -i inputdir -o outputdir -n AppName \\\n\
 \            -c package.ClassName -j MyJar.jar\n\
-\    Generate an application image from a modular jar file:\n\
-\        jpackage create-image --output outputdir --name AppName \\\n\
-\            --class package.ClassName -module moduleName -p modulePath\n\
-\        jpackage create-image --o outputdir -n AppName \\\n\
-\            -c package.ClassName -m moduleName -p modulePath\n\
 \    Generate an application installer:\n\
 \        jpackage create-installer -i inputdir -o outputdir \\\n\
 \            -n "Installer Name" -c package.ClassName -j MyJar.jar\n\
 \        jpackage create-installer -o outputdir -n "Installer Name" \\\n\
-              --app-image <app image dir>\n\
-\    Generate a JRE installer:\n\
-\        jpackage create-jre-installer -name <jre-name> -output outputdir\n\
-\        jpackage create-jre-installer -n <jre-name> -o outputdir \\\n\
-\             --runtime-image <path>\n\
+\            --app-image <app image dir>\n\
+\    Generate a Java runtime installer:\n\
+\        jpackage create-installer --runtime-installer -name <jre-name>\\\n\
+\            --output outputdir\n\
+\        jpackage create-jre-installer --runtime-installer \\\n\
+\            -n <jre-name> -o outputdir --runtime-image <path>\n\
 \n\
 The following options are valid for all platforms:\n\
 \  @<filename> \n\
@@ -87,8 +78,17 @@
 \          The main JAR of the application\n\
 \          (specified as a path relative to the input path)\n\
 \          This JAR should contain the main-class.\n\
-\  --class -c <class name>\n\
-\          Qualified name of the application class to execute\n\
+\  --main-class -c <class name>\n\
+\          Qualified name of the application main class to execute\n\
+\  --installer-type <type> \n\
+\          Specifies the type of the installer created in create-image mode\n\
+\          Valid values for "type" are "msi", "exe", "rpm", "deb", "dmg",\n\
+\                           "pkg", and "pkg-app-store".\n\
+\          If this option is not specified (in create-installer mode),\n\
+\          all supported types of installable packages for the current\n\
+\          platform will be generated.\n\
+\  --runtime-installer \n\
+\          Generates a platform-specific installer for Java runtime.\n\
 \  --app-version <version string>\n\
 \          Version of the application\n\
 \  --arguments -a <main class arguments>\n\
@@ -147,9 +147,9 @@
 \          Category or group of the application\n\
 \  --vendor <vendor string>\n\
 \          Vendor of the application\n\
-\  --force\n\
-\          Allow the deletion of any existing output root directory\n\
-\          when creating an Application image\n\
+\  --overwrite\n\
+\          Allow the recursive deletion of an existing application \n\
+\          output directory when creating an application image\n\
 \  --resource-dir <path>\n\
 \          Path to override jpackage resources\n\
 \          Icons, template files, and other resources of jpackage can be\n\
@@ -165,10 +165,8 @@
 \          Path JLink looks in for modules when packaging the Java Runtime\n\
 \          (absolute path or relative to the current directory)\n\
 \  --add-modules <module list>\n\
-\          A {0} separated list of modules to add to JImage creation,\n\
+\          A comma (",") separated list of modules to add to JImage creation,\n\
 \          including possible services\n\
-\  --limit-modules <module list>\n\
-\          A {0} separated list of Modules to limit JImage creation to\n\
 
 MSG_Help_mac=\nThe following options are valid for Mac OS X platforms:\n\
 \  --mac-sign\n\
--- a/src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/HelpResources_ja.properties	Mon Feb 04 15:00:29 2019 -0500
+++ b/src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/HelpResources_ja.properties	Wed Feb 06 09:00:28 2019 -0500
@@ -29,40 +29,31 @@
 where mode is one of: \n\
 \  create-image\n\
 \          Generates a platform-specific application image.\n\
-\  create-installer <type>\n\
+\  create-installer\n\
 \          Generates a platform-specific installer for the application.\n\
-\          Valid values for "type" are "msi", "exe", "rpm", "deb", "dmg",\n\
-\                           "pkg", and "pkg-app-store".\n\
-\          If "type" is omitted, all supported types of installable\n\
-\          packages for the current platform will be generated.\n\
-\  create-jre-installer <type>\n\
-\          Generates a platform-specific installer for JRE.\n\
-\          Valid values for "type" are "msi", "exe", "rpm", "deb", "dmg", \n\
-\                           and "pkg".\n\
-\          If "type" is omitted, all supported types of installable\n\
-\          packages for the current platform will be generated.\n\
 \          \n\
 Sample usages:\n\
 --------------\n\
-\    Generate an application image from a non-modular jar file:\n\
+\    Generate a modular application image:\n\
+\        jpackage create-image --output outputdir --name AppName \\\n\
+\            --main-class package.ClassName -module moduleName -p modulePath\n\
+\        jpackage create-image --o outputdir -n AppName \\\n\
+\            -c package.ClassName -m moduleName -p modulePath\n\
+\    Generate a non-modular application image:\n\
 \        jpackage create-image --input inputdir --output outputdir \\\n\
-\            --name AppName --class package.ClassName --main-jar MyJar.jar\n\
+\            --name AppName --main-class package.ClassName --main-jar MyJar.jar\n\
 \        jpackage create-image -i inputdir -o outputdir -n AppName \\\n\
 \            -c package.ClassName -j MyJar.jar\n\
-\    Generate an application image from a modular jar file:\n\
-\        jpackage create-image --output outputdir --name AppName \\\n\
-\            --class package.ClassName -module moduleName -p modulePath\n\
-\        jpackage create-image --o outputdir -n AppName \\\n\
-\            -c package.ClassName -m moduleName -p modulePath\n\
 \    Generate an application installer:\n\
 \        jpackage create-installer -i inputdir -o outputdir \\\n\
 \            -n "Installer Name" -c package.ClassName -j MyJar.jar\n\
 \        jpackage create-installer -o outputdir -n "Installer Name" \\\n\
-              --app-image <app image dir>\n\
-\    Generate a JRE installer:\n\
-\        jpackage create-jre-installer -name <jre-name> -output outputdir\n\
-\        jpackage create-jre-installer -n <jre-name> -o outputdir \\\n\
-\             --runtime-image <path>\n\
+\            --app-image <app image dir>\n\
+\    Generate a Java runtime installer:\n\
+\        jpackage create-installer --runtime-installer -name <jre-name>\\\n\
+\            --output outputdir\n\
+\        jpackage create-jre-installer --runtime-installer \\\n\
+\            -n <jre-name> -o outputdir --runtime-image <path>\n\
 \n\
 The following options are valid for all platforms:\n\
 \  @<filename> \n\
@@ -87,8 +78,17 @@
 \          The main JAR of the application\n\
 \          (specified as a path relative to the input path)\n\
 \          This JAR should contain the main-class.\n\
-\  --class -c <class name>\n\
-\          Qualified name of the application class to execute\n\
+\  --main-class -c <class name>\n\
+\          Qualified name of the application main class to execute\n\
+\  --installer-type <type> \n\
+\          Specifies the type of the installer created in create-image mode\n\
+\          Valid values for "type" are "msi", "exe", "rpm", "deb", "dmg",\n\
+\                           "pkg", and "pkg-app-store".\n\
+\          If this option is not specified (in create-installer mode),\n\
+\          all supported types of installable packages for the current\n\
+\          platform will be generated.\n\
+\  --runtime-installer \n\
+\          Generates a platform-specific installer for Java runtime.\n\
 \  --app-version <version string>\n\
 \          Version of the application\n\
 \  --arguments -a <main class arguments>\n\
@@ -147,9 +147,9 @@
 \          Category or group of the application\n\
 \  --vendor <vendor string>\n\
 \          Vendor of the application\n\
-\  --force\n\
-\          Allow the deletion of any existing output root directory\n\
-\          when creating an Application image\n\
+\  --overwrite\n\
+\          Allow the recursive deletion of an existing application \n\
+\          output directory when creating an application image\n\
 \  --resource-dir <path>\n\
 \          Path to override jpackage resources\n\
 \          Icons, template files, and other resources of jpackage can be\n\
@@ -165,10 +165,8 @@
 \          Path JLink looks in for modules when packaging the Java Runtime\n\
 \          (absolute path or relative to the current directory)\n\
 \  --add-modules <module list>\n\
-\          A {0} separated list of modules to add to JImage creation,\n\
+\          A comma (",") separated list of modules to add to JImage creation,\n\
 \          including possible services\n\
-\  --limit-modules <module list>\n\
-\          A {0} separated list of Modules to limit JImage creation to\n\
 
 MSG_Help_mac=\nThe following options are valid for Mac OS X platforms:\n\
 \  --mac-sign\n\
--- a/src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/HelpResources_zh_CN.properties	Mon Feb 04 15:00:29 2019 -0500
+++ b/src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/HelpResources_zh_CN.properties	Wed Feb 06 09:00:28 2019 -0500
@@ -29,40 +29,31 @@
 where mode is one of: \n\
 \  create-image\n\
 \          Generates a platform-specific application image.\n\
-\  create-installer <type>\n\
+\  create-installer\n\
 \          Generates a platform-specific installer for the application.\n\
-\          Valid values for "type" are "msi", "exe", "rpm", "deb", "dmg",\n\
-\                           "pkg", and "pkg-app-store".\n\
-\          If "type" is omitted, all supported types of installable\n\
-\          packages for the current platform will be generated.\n\
-\  create-jre-installer <type>\n\
-\          Generates a platform-specific installer for JRE.\n\
-\          Valid values for "type" are "msi", "exe", "rpm", "deb", "dmg", \n\
-\                           and "pkg".\n\
-\          If "type" is omitted, all supported types of installable\n\
-\          packages for the current platform will be generated.\n\
 \          \n\
 Sample usages:\n\
 --------------\n\
-\    Generate an application image from a non-modular jar file:\n\
+\    Generate a modular application image:\n\
+\        jpackage create-image --output outputdir --name AppName \\\n\
+\            --main-class package.ClassName -module moduleName -p modulePath\n\
+\        jpackage create-image --o outputdir -n AppName \\\n\
+\            -c package.ClassName -m moduleName -p modulePath\n\
+\    Generate a non-modular application image:\n\
 \        jpackage create-image --input inputdir --output outputdir \\\n\
-\            --name AppName --class package.ClassName --main-jar MyJar.jar\n\
+\            --name AppName --main-class package.ClassName --main-jar MyJar.jar\n\
 \        jpackage create-image -i inputdir -o outputdir -n AppName \\\n\
 \            -c package.ClassName -j MyJar.jar\n\
-\    Generate an application image from a modular jar file:\n\
-\        jpackage create-image --output outputdir --name AppName \\\n\
-\            --class package.ClassName -module moduleName -p modulePath\n\
-\        jpackage create-image --o outputdir -n AppName \\\n\
-\            -c package.ClassName -m moduleName -p modulePath\n\
 \    Generate an application installer:\n\
 \        jpackage create-installer -i inputdir -o outputdir \\\n\
 \            -n "Installer Name" -c package.ClassName -j MyJar.jar\n\
 \        jpackage create-installer -o outputdir -n "Installer Name" \\\n\
-              --app-image <app image dir>\n\
-\    Generate a JRE installer:\n\
-\        jpackage create-jre-installer -name <jre-name> -output outputdir\n\
-\        jpackage create-jre-installer -n <jre-name> -o outputdir \\\n\
-\             --runtime-image <path>\n\
+\            --app-image <app image dir>\n\
+\    Generate a Java runtime installer:\n\
+\        jpackage create-installer --runtime-installer -name <jre-name>\\\n\
+\            --output outputdir\n\
+\        jpackage create-jre-installer --runtime-installer \\\n\
+\            -n <jre-name> -o outputdir --runtime-image <path>\n\
 \n\
 The following options are valid for all platforms:\n\
 \  @<filename> \n\
@@ -87,8 +78,17 @@
 \          The main JAR of the application\n\
 \          (specified as a path relative to the input path)\n\
 \          This JAR should contain the main-class.\n\
-\  --class -c <class name>\n\
-\          Qualified name of the application class to execute\n\
+\  --main-class -c <class name>\n\
+\          Qualified name of the application main class to execute\n\
+\  --installer-type <type> \n\
+\          Specifies the type of the installer created in create-image mode\n\
+\          Valid values for "type" are "msi", "exe", "rpm", "deb", "dmg",\n\
+\                           "pkg", and "pkg-app-store".\n\
+\          If this option is not specified (in create-installer mode),\n\
+\          all supported types of installable packages for the current\n\
+\          platform will be generated.\n\
+\  --runtime-installer \n\
+\          Generates a platform-specific installer for Java runtime.\n\
 \  --app-version <version string>\n\
 \          Version of the application\n\
 \  --arguments -a <main class arguments>\n\
@@ -147,9 +147,9 @@
 \          Category or group of the application\n\
 \  --vendor <vendor string>\n\
 \          Vendor of the application\n\
-\  --force\n\
-\          Allow the deletion of any existing output root directory\n\
-\          when creating an Application image\n\
+\  --overwrite\n\
+\          Allow the recursive deletion of an existing application \n\
+\          output directory when creating an application image\n\
 \  --resource-dir <path>\n\
 \          Path to override jpackage resources\n\
 \          Icons, template files, and other resources of jpackage can be\n\
@@ -165,10 +165,8 @@
 \          Path JLink looks in for modules when packaging the Java Runtime\n\
 \          (absolute path or relative to the current directory)\n\
 \  --add-modules <module list>\n\
-\          A {0} separated list of modules to add to JImage creation,\n\
+\          A comma (",") separated list of modules to add to JImage creation,\n\
 \          including possible services\n\
-\  --limit-modules <module list>\n\
-\          A {0} separated list of Modules to limit JImage creation to\n\
 
 MSG_Help_mac=\nThe following options are valid for Mac OS X platforms:\n\
 \  --mac-sign\n\
--- a/src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/MainResources.properties	Mon Feb 04 15:00:29 2019 -0500
+++ b/src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/MainResources.properties	Wed Feb 06 09:00:28 2019 -0500
@@ -91,8 +91,8 @@
 param.version.default=1.0
 param.verbose.name=Verbose
 param.verbose.description=Flag to print out more information and saves configuration files for bundlers.
-param.force.name=Force
-param.force.description=Flag to allow removal of existing Build Root contents
+param.force.name=Overwrite
+param.force.description=Flag to allow removal of existing application output directory
 param.resource-dir.name=Resource Dir
 param.resource-dir.description=The directory to look for bundler specific resources.
 param.secondary-launchers.name=Secondary Launchers
@@ -137,7 +137,7 @@
 
 error.cannot-create-output-dir=Output directory {0} cannot be created.
 error.cannot-write-to-output-dir=Output directory {0} is not writable.
-error.root-exists-without-force=Error: Output root directory {0} already exists and --force is not specified"
+error.root-exists-without-force=Error: Application output directory {0} already exists and --overwrite is not specified"
 error.no-application-class=Main application class is missing.
 error.no-application-class.advice=Please specify main application class.
 error.no-main-module=Main application module is missing.
@@ -152,6 +152,7 @@
 warning.module.does.not.exist=Module {0} does not exist.
 warning.no.jdk.modules.found=Warning: No JDK Modules found.
 warning.unsupported.option=Warning: Option [{0}] is not supported in {1} mode on this platform.
+warning.missing.arg.file=Warning: Missing argument file: {0}
 
 MSG_BundlerFailed=Error: Bundler "{1}" ({0}) failed to produce a bundle.
 MSG_BundlerPlatformException=Bundler {0} skipped because the bundler does not support bundling on this platform.
@@ -163,11 +164,11 @@
 MSG_BundlerFailed=Error: Bundler "{1}" ({0}) failed to produce a bundle.
 
 
-
+ERR_MissingMode=Error: Mode is not specified
 ERR_MissingArgument=Error: Missing argument: {0}
 ERR_MissingAppResources=Error: No application jars found
 ERR_AppImageNotExist=Error: App image directory "{0}" does not exist
-ERR_AppImageInvalid=Error: App image directory "{0}" is invalid and does not contain "app" and/or "runtime" sub-directories
+ERR_AppImageInvalid=Error: App image directory "{0}" does not contain "app" sub-directory
 ERR_NoSecondaryLauncherName=Error: Secondary Launchers require a name parameter.
 ERR_NoUniqueName=Error: Secondary Launchers require a unique name parameter.
 ERR_NoJreInstallerName=Error: Jre Installers require a name parameter.
--- a/src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/MainResources_ja.properties	Mon Feb 04 15:00:29 2019 -0500
+++ b/src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/MainResources_ja.properties	Wed Feb 06 09:00:28 2019 -0500
@@ -91,8 +91,8 @@
 param.version.default=1.0
 param.verbose.name=Verbose
 param.verbose.description=Flag to print out more information and saves configuration files for bundlers.
-param.force.name=Force
-param.force.description=Flag to allow removal of existing Build Root contents
+param.force.name=Overwrite
+param.force.description=Flag to allow removal of existing application output directory
 param.resource-dir.name=Resource Dir
 param.resource-dir.description=The directory to look for bundler specific resources.
 param.secondary-launchers.name=Secondary Launchers
@@ -137,7 +137,7 @@
 
 error.cannot-create-output-dir=Output directory {0} cannot be created.
 error.cannot-write-to-output-dir=Output directory {0} is not writable.
-error.root-exists-without-force=Error: Output root directory {0} already exists and --force is not specified"
+error.root-exists-without-force=Error: Application output directory {0} already exists and --overwrite is not specified"
 error.no-application-class=Main application class is missing.
 error.no-application-class.advice=Please specify main application class.
 error.no-main-module=Main application module is missing.
@@ -152,6 +152,7 @@
 warning.module.does.not.exist=Module {0} does not exist.
 warning.no.jdk.modules.found=Warning: No JDK Modules found.
 warning.unsupported.option=Warning: Option [{0}] is not supported in {1} mode on this platform.
+warning.missing.arg.file=Warning: Missing argument file: {0}
 
 MSG_BundlerFailed=Error: Bundler "{1}" ({0}) failed to produce a bundle.
 MSG_BundlerPlatformException=Bundler {0} skipped because the bundler does not support bundling on this platform.
@@ -163,11 +164,11 @@
 MSG_BundlerFailed=Error: Bundler "{1}" ({0}) failed to produce a bundle.
 
 
-
+ERR_MissingMode=Error: Mode is not specified
 ERR_MissingArgument=Error: Missing argument: {0}
 ERR_MissingAppResources=Error: No application jars found
 ERR_AppImageNotExist=Error: App image directory "{0}" does not exist
-ERR_AppImageInvalid=Error: App image directory "{0}" is invalid and does not contain "app" and/or "runtime" sub-directories
+ERR_AppImageInvalid=Error: App image directory "{0}" does not contain "app" sub-directory
 ERR_NoSecondaryLauncherName=Error: Secondary Launchers require a name parameter.
 ERR_NoUniqueName=Error: Secondary Launchers require a unique name parameter.
 ERR_NoJreInstallerName=Error: Jre Installers require a name parameter.
--- a/src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/MainResources_zh_CN.properties	Mon Feb 04 15:00:29 2019 -0500
+++ b/src/jdk.jpackage/share/classes/jdk/jpackage/internal/resources/MainResources_zh_CN.properties	Wed Feb 06 09:00:28 2019 -0500
@@ -91,8 +91,8 @@
 param.version.default=1.0
 param.verbose.name=Verbose
 param.verbose.description=Flag to print out more information and saves configuration files for bundlers.
-param.force.name=Force
-param.force.description=Flag to allow removal of existing Build Root contents
+param.force.name=Overwrite
+param.force.description=Flag to allow removal of existing application output directory
 param.resource-dir.name=Resource Dir
 param.resource-dir.description=The directory to look for bundler specific resources.
 param.secondary-launchers.name=Secondary Launchers
@@ -137,7 +137,7 @@
 
 error.cannot-create-output-dir=Output directory {0} cannot be created.
 error.cannot-write-to-output-dir=Output directory {0} is not writable.
-error.root-exists-without-force=Error: Output root directory {0} already exists and --force is not specified"
+error.root-exists-without-force=Error: Application output directory {0} already exists and --overwrite is not specified"
 error.no-application-class=Main application class is missing.
 error.no-application-class.advice=Please specify main application class.
 error.no-main-module=Main application module is missing.
@@ -152,6 +152,7 @@
 warning.module.does.not.exist=Module {0} does not exist.
 warning.no.jdk.modules.found=Warning: No JDK Modules found.
 warning.unsupported.option=Warning: Option [{0}] is not supported in {1} mode on this platform.
+warning.missing.arg.file=Warning: Missing argument file: {0}
 
 MSG_BundlerFailed=Error: Bundler "{1}" ({0}) failed to produce a bundle.
 MSG_BundlerPlatformException=Bundler {0} skipped because the bundler does not support bundling on this platform.
@@ -163,11 +164,11 @@
 MSG_BundlerFailed=Error: Bundler "{1}" ({0}) failed to produce a bundle.
 
 
-
+ERR_MissingMode=Error: Mode is not specified
 ERR_MissingArgument=Error: Missing argument: {0}
 ERR_MissingAppResources=Error: No application jars found
 ERR_AppImageNotExist=Error: App image directory "{0}" does not exist
-ERR_AppImageInvalid=Error: App image directory "{0}" is invalid and does not contain "app" and/or "runtime" sub-directories
+ERR_AppImageInvalid=Error: App image directory "{0}" does not contain "app" sub-directory
 ERR_NoSecondaryLauncherName=Error: Secondary Launchers require a name parameter.
 ERR_NoUniqueName=Error: Secondary Launchers require a unique name parameter.
 ERR_NoJreInstallerName=Error: Jre Installers require a name parameter.
--- a/src/jdk.jpackage/windows/classes/jdk/jpackage/internal/WinAppBundler.java	Mon Feb 04 15:00:29 2019 -0500
+++ b/src/jdk.jpackage/windows/classes/jdk/jpackage/internal/WinAppBundler.java	Wed Feb 06 09:00:28 2019 -0500
@@ -175,7 +175,7 @@
 
     File doBundle(Map<String, ? super Object> p, File outputDirectory,
             boolean dependentTask) throws PackagerException {
-        if (Arguments.CREATE_JRE_INSTALLER.fetchFrom(p)) {
+        if (RUNTIME_INSTALLER.fetchFrom(p)) {
             return doJreBundle(p, outputDirectory, dependentTask);
         } else {
             return doAppBundle(p, outputDirectory, dependentTask);
@@ -309,7 +309,7 @@
     }
 
     @Override
-    public boolean supported() {
+    public boolean supported(boolean platformInstaller) {
         return (Platform.getPlatform() == Platform.WINDOWS);
     }
 
--- a/src/jdk.jpackage/windows/classes/jdk/jpackage/internal/WinExeBundler.java	Mon Feb 04 15:00:29 2019 -0500
+++ b/src/jdk.jpackage/windows/classes/jdk/jpackage/internal/WinExeBundler.java	Wed Feb 06 09:00:28 2019 -0500
@@ -196,7 +196,7 @@
     }
 
     @Override
-    public boolean supported() {
+    public boolean supported(boolean platformInstaller) {
         return (Platform.getPlatform() == Platform.WINDOWS);
     }
 
@@ -743,7 +743,7 @@
         }
 
         // TODO - alternate template for JRE installer
-        String iss = Arguments.CREATE_JRE_INSTALLER.fetchFrom(p) ?
+        String iss = RUNTIME_INSTALLER.fetchFrom(p) ?
                 DEFAULT_JRE_EXE_TEMPLATE : DEFAULT_EXE_PROJECT_TEMPLATE;
 
         Writer w = new BufferedWriter(new FileWriter(
--- a/src/jdk.jpackage/windows/classes/jdk/jpackage/internal/WinMsiBundler.java	Mon Feb 04 15:00:29 2019 -0500
+++ b/src/jdk.jpackage/windows/classes/jdk/jpackage/internal/WinMsiBundler.java	Wed Feb 06 09:00:28 2019 -0500
@@ -239,7 +239,7 @@
     }
 
     @Override
-    public boolean supported() {
+    public boolean supported(boolean platformInstaller) {
         return (Platform.getPlatform() == Platform.WINDOWS);
     }
 
@@ -642,7 +642,7 @@
         }
         data.put("SECONDARY_LAUNCHER_ICONS", secondaryLauncherIcons.toString());
 
-        String wxs = Arguments.CREATE_JRE_INSTALLER.fetchFrom(params) ?
+        String wxs = RUNTIME_INSTALLER.fetchFrom(params) ?
                 MSI_PROJECT_TEMPLATE_SERVER_JRE : MSI_PROJECT_TEMPLATE;
 
         Writer w = new BufferedWriter(
--- a/test/jdk/tools/jpackage/JPackageInvalidArgTest.java	Mon Feb 04 15:00:29 2019 -0500
+++ b/test/jdk/tools/jpackage/JPackageInvalidArgTest.java	Wed Feb 06 09:00:28 2019 -0500
@@ -33,7 +33,7 @@
 public class JPackageInvalidArgTest {
 
     private static final String ARG1 = "--no-such-argument";
-    private static final String ARG2 = "--force";
+    private static final String ARG2 = "--overwrite";
     private static final String RESULT1 =
             "Invalid Option: [--no-such-argument]";
     private static final String RESULT2 = "Mode is not specified";
--- a/test/jdk/tools/jpackage/JPackageMissingArgumentsTest.java	Mon Feb 04 15:00:29 2019 -0500
+++ b/test/jdk/tools/jpackage/JPackageMissingArgumentsTest.java	Wed Feb 06 09:00:28 2019 -0500
@@ -38,8 +38,8 @@
         "--input", "input",
         "--name", "test",
         "--main-jar", "hello.jar",
-        "--class", "Hello",
-        "--force",
+        "--main-class", "Hello",
+        "--overwrite",
         "--files", "hello.jar"};
 
     private static final String [] RESULT_2 = {"--input"};
@@ -48,8 +48,8 @@
         "--output", "output",
         "--name", "test",
         "--main-jar", "hello.jar",
-        "--class", "Hello",
-        "--force",
+        "--main-class", "Hello",
+        "--overwrite",
         "--files", "hello.jar"};
 
     private static final String [] RESULT_3 = {"--input", "--app-image"};
@@ -58,18 +58,18 @@
         "--output", "output",
         "--name", "test",
         "--main-jar", "hello.jar",
-        "--class", "Hello",
-        "--force",
+        "--main-class", "Hello",
+        "--overwrite",
         "--files", "hello.jar"};
 
-    private static final String [] RESULT_4 = {"--class"};
+    private static final String [] RESULT_4 = {"--main-class"};
     private static final String [] CMD_4 = {
         "create-image",
         "--input", "input",
         "--output", "output",
         "--name", "test",
         "--main-jar", "hello.jar",
-        "--force",
+        "--overwrite",
         "--files", "hello.jar"};
 
     private static final String [] RESULT_5 = {"--main-jar"};
@@ -78,8 +78,8 @@
         "--input", "input",
         "--output", "output",
         "--name", "test",
-        "--class", "Hello",
-        "--force",
+        "--main-class", "Hello",
+        "--overwrite",
         "--files", "hello.jar"};
 
     private static final String [] RESULT_6 = {"--module-path", "--runtime-image"};
@@ -88,7 +88,7 @@
         "--output", "output",
         "--name", "test",
         "--module", "com.hello/com.hello.Hello",
-        "--force",
+        "--overwrite",
         "--files", "hello.jar"};
 
     private static final String [] RESULT_7 = {"--module-path", "--runtime-image",
@@ -98,7 +98,7 @@
         "--output", "output",
         "--name", "test",
         "--module", "com.hello/com.hello.Hello",
-        "--force",
+        "--overwrite",
         "--files", "hello.jar"};
 
     private static void validate(String output, String [] expected)
--- a/test/jdk/tools/jpackage/createimage/JPackageCreateImageArgumentsModuleTest.java	Mon Feb 04 15:00:29 2019 -0500
+++ b/test/jdk/tools/jpackage/createimage/JPackageCreateImageArgumentsModuleTest.java	Wed Feb 06 09:00:28 2019 -0500
@@ -37,7 +37,7 @@
         "create-image",
         "--output", "output",
         "--name", "test",
-        "--force",
+        "--overwrite",
         "--module", "com.hello/com.hello.Hello",
         "--module-path", "input",
         "--arguments", "TBD"};
--- a/test/jdk/tools/jpackage/createimage/JPackageCreateImageArgumentsTest.java	Mon Feb 04 15:00:29 2019 -0500
+++ b/test/jdk/tools/jpackage/createimage/JPackageCreateImageArgumentsTest.java	Wed Feb 06 09:00:28 2019 -0500
@@ -39,9 +39,9 @@
         "--output", "output",
         "--name", "test",
         "--main-jar", "hello.jar",
-        "--class", "Hello",
+        "--main-class", "Hello",
         "--files", "hello.jar",
-        "--force",
+        "--overwrite",
         "--arguments", "TBD"};
 
     public static void main(String[] args) throws Exception {
--- a/test/jdk/tools/jpackage/createimage/JPackageCreateImageBuildRootTest.java	Mon Feb 04 15:00:29 2019 -0500
+++ b/test/jdk/tools/jpackage/createimage/JPackageCreateImageBuildRootTest.java	Wed Feb 06 09:00:28 2019 -0500
@@ -44,9 +44,9 @@
         "--output", "output",
         "--name", "test",
         "--main-jar", "hello.jar",
-        "--class", "Hello",
+        "--main-class", "Hello",
         "--files", "hello.jar",
-        "--force" };
+        "--overwrite" };
 
     private static final String [] CMD_BUILD_ROOT = {
         "create-image",
@@ -54,9 +54,9 @@
         "--output", "output",
         "--name", "test",
         "--main-jar", "hello.jar",
-        "--class", "Hello",
+        "--main-class", "Hello",
         "--files", "hello.jar",
-        "--force",
+        "--overwrite",
         "--build-root", "TBD"};
 
     private static void validate(boolean retain) throws Exception {
--- a/test/jdk/tools/jpackage/createimage/JPackageCreateImageForceTest.java	Mon Feb 04 15:00:29 2019 -0500
+++ b/test/jdk/tools/jpackage/createimage/JPackageCreateImageForceTest.java	Wed Feb 06 09:00:28 2019 -0500
@@ -26,7 +26,7 @@
 
 /*
  * @test
- * @summary jpackage create image to verify --force
+ * @summary jpackage create image to verify --overwrite
  * @library ../helpers
  * @build JPackageHelper
  * @build JPackagePath
@@ -43,7 +43,7 @@
         "--input", "input",
         "--name", "test",
         "--main-jar", "hello.jar",
-        "--class", "Hello",
+        "--main-class", "Hello",
         "--files", "hello.jar",
         "--output", "TBD"};
 
@@ -52,8 +52,8 @@
         "--input", "input",
         "--name", "test",
         "--main-jar", "hello.jar",
-        "--class", "Hello",
-        "--force",
+        "--main-class", "Hello",
+        "--overwrite",
         "--files", "hello.jar",
         "--output", "TBD"};
 
@@ -75,7 +75,7 @@
     private static void validate(String result) throws Exception {
         if (!result.contains("java.io.IOException") &&
                 !result.contains("already exists") &&
-                !result.contains("--force is not specified")) {
+                !result.contains("--overwrite is not specified")) {
             System.err.println(result);
             throw new AssertionError("Unexpected error message");
         }
--- a/test/jdk/tools/jpackage/createimage/JPackageCreateImageIconTest.java	Mon Feb 04 15:00:29 2019 -0500
+++ b/test/jdk/tools/jpackage/createimage/JPackageCreateImageIconTest.java	Wed Feb 06 09:00:28 2019 -0500
@@ -43,8 +43,8 @@
         "--input", "input",
         "--name", "test",
         "--main-jar", "hello.jar",
-        "--class", "Hello",
-        "--force",
+        "--main-class", "Hello",
+        "--overwrite",
         "--files", "hello.jar",
         "--icon", getIconPath(),
         "--output", "output"};
--- a/test/jdk/tools/jpackage/createimage/JPackageCreateImageInputFilesTest.java	Mon Feb 04 15:00:29 2019 -0500
+++ b/test/jdk/tools/jpackage/createimage/JPackageCreateImageInputFilesTest.java	Wed Feb 06 09:00:28 2019 -0500
@@ -54,8 +54,8 @@
         "--output", "output",
         "--name", "test",
         "--main-jar", "hello.jar",
-        "--force",
-        "--class", "Hello"};
+        "--overwrite",
+        "--main-class", "Hello"};
 
     private static final String [] CMD_2 = {
         "create-image",
@@ -63,8 +63,8 @@
         "--output", "output",
         "--name", "test",
         "--main-jar", "hello.jar",
-        "--class", "Hello",
-        "--force",
+        "--main-class", "Hello",
+        "--overwrite",
         "--files", "hello.jar"};
 
     private static void validate1() throws Exception {
--- a/test/jdk/tools/jpackage/createimage/JPackageCreateImageJVMArgsModuleTest.java	Mon Feb 04 15:00:29 2019 -0500
+++ b/test/jdk/tools/jpackage/createimage/JPackageCreateImageJVMArgsModuleTest.java	Wed Feb 06 09:00:28 2019 -0500
@@ -37,7 +37,7 @@
         "create-image",
         "--output", "output",
         "--name", "test",
-        "--force",
+        "--overwrite",
         "--module", "com.hello/com.hello.Hello",
         "--module-path", "input",
         "--jvm-args", "TBD"};
@@ -46,7 +46,7 @@
         "create-image",
         "--output", "output",
         "--name", "test",
-        "--force",
+        "--overwrite",
         "--module", "com.hello/com.hello.Hello",
         "--module-path", "input",
         "--jvm-args", "TBD",
--- a/test/jdk/tools/jpackage/createimage/JPackageCreateImageJVMArgsTest.java	Mon Feb 04 15:00:29 2019 -0500
+++ b/test/jdk/tools/jpackage/createimage/JPackageCreateImageJVMArgsTest.java	Wed Feb 06 09:00:28 2019 -0500
@@ -39,9 +39,9 @@
         "--output", "output",
         "--name", "test",
         "--main-jar", "hello.jar",
-        "--class", "Hello",
+        "--main-class", "Hello",
         "--files", "hello.jar",
-        "--force",
+        "--overwrite",
         "--jvm-args", "TBD"};
 
     private static final String[] CMD2 = {
@@ -50,9 +50,9 @@
         "--output", "output",
         "--name", "test",
         "--main-jar", "hello.jar",
-        "--class", "Hello",
+        "--main-class", "Hello",
         "--files", "hello.jar",
-        "--force",
+        "--overwrite",
         "--jvm-args", "TBD",
         "--jvm-args", "TBD",
         "--jvm-args", "TBD"};
--- a/test/jdk/tools/jpackage/createimage/JPackageCreateImageMainClassAttributeTest.java	Mon Feb 04 15:00:29 2019 -0500
+++ b/test/jdk/tools/jpackage/createimage/JPackageCreateImageMainClassAttributeTest.java	Wed Feb 06 09:00:28 2019 -0500
@@ -44,7 +44,7 @@
         "--output", "output",
         "--name", "test",
         "--main-jar", "hello.jar",
-        "--force",
+        "--overwrite",
         "--files", "hello.jar"};
 
     private static void validateResult(String[] result) throws Exception {
--- a/test/jdk/tools/jpackage/createimage/JPackageCreateImageModuleTest.java	Mon Feb 04 15:00:29 2019 -0500
+++ b/test/jdk/tools/jpackage/createimage/JPackageCreateImageModuleTest.java	Wed Feb 06 09:00:28 2019 -0500
@@ -36,7 +36,7 @@
         "create-image",
         "--output", "output",
         "--name", "test",
-        "--force",
+        "--overwrite",
         "--module", "com.hello/com.hello.Hello",
         "--module-path", "input"};
 
--- a/test/jdk/tools/jpackage/createimage/JPackageCreateImageNoNameTest.java	Mon Feb 04 15:00:29 2019 -0500
+++ b/test/jdk/tools/jpackage/createimage/JPackageCreateImageNoNameTest.java	Wed Feb 06 09:00:28 2019 -0500
@@ -43,8 +43,8 @@
         "--input", "input",
         "--output", "output",
         "--main-jar", "hello.jar",
-        "--class", "Hello",
-        "--force",
+        "--main-class", "Hello",
+        "--overwrite",
         "--files", "hello.jar"};
 
     private static void validateResult(String[] result) throws Exception {
--- a/test/jdk/tools/jpackage/createimage/JPackageCreateImageRuntimeModuleTest.java	Mon Feb 04 15:00:29 2019 -0500
+++ b/test/jdk/tools/jpackage/createimage/JPackageCreateImageRuntimeModuleTest.java	Wed Feb 06 09:00:28 2019 -0500
@@ -37,7 +37,7 @@
         "--runtime-image", "runtime",
         "--output", "output",
         "--name", "test",
-        "--force",
+        "--overwrite",
         "--win-console",
         "--module", "com.hello/com.hello.Hello",
         "--module-path", "input"};
--- a/test/jdk/tools/jpackage/createimage/JPackageCreateImageRuntimeTest.java	Mon Feb 04 15:00:29 2019 -0500
+++ b/test/jdk/tools/jpackage/createimage/JPackageCreateImageRuntimeTest.java	Wed Feb 06 09:00:28 2019 -0500
@@ -39,8 +39,8 @@
         "--output", "output",
         "--name", "test",
         "--main-jar", "hello.jar",
-        "--class", "Hello",
-        "--force",
+        "--main-class", "Hello",
+        "--overwrite",
         "--files", "hello.jar"};
 
     public static void main(String[] args) throws Exception {
--- a/test/jdk/tools/jpackage/createimage/JPackageCreateImageSecondaryLauncherModuleTest.java	Mon Feb 04 15:00:29 2019 -0500
+++ b/test/jdk/tools/jpackage/createimage/JPackageCreateImageSecondaryLauncherModuleTest.java	Wed Feb 06 09:00:28 2019 -0500
@@ -36,7 +36,7 @@
         "create-image",
         "--output", "output",
         "--name", "test",
-        "--force",
+        "--overwrite",
         "--module", "com.hello/com.hello.Hello",
         "--module-path", "input",
         "--secondary-launcher", "sl.properties"};
--- a/test/jdk/tools/jpackage/createimage/JPackageCreateImageSecondaryLauncherTest.java	Mon Feb 04 15:00:29 2019 -0500
+++ b/test/jdk/tools/jpackage/createimage/JPackageCreateImageSecondaryLauncherTest.java	Wed Feb 06 09:00:28 2019 -0500
@@ -38,9 +38,9 @@
         "--output", "output",
         "--name", "test",
         "--main-jar", "hello.jar",
-        "--class", "Hello",
+        "--main-class", "Hello",
         "--files", "hello.jar",
-        "--force",
+        "--overwrite",
         "--secondary-launcher", "sl.properties"};
 
     public static void main(String[] args) throws Exception {
--- a/test/jdk/tools/jpackage/createimage/JPackageCreateImageStripNativeCommandsTest.java	Mon Feb 04 15:00:29 2019 -0500
+++ b/test/jdk/tools/jpackage/createimage/JPackageCreateImageStripNativeCommandsTest.java	Wed Feb 06 09:00:28 2019 -0500
@@ -46,9 +46,9 @@
         "--output", "output",
         "--name", "test",
         "--main-jar", "hello.jar",
-        "--class", "Hello",
+        "--main-class", "Hello",
         "--files", "hello.jar",
-        "--force",
+        "--overwrite",
         "--strip-native-commands"};
 
     private static void validate() throws Exception {
--- a/test/jdk/tools/jpackage/createimage/JPackageCreateImageTest.java	Mon Feb 04 15:00:29 2019 -0500
+++ b/test/jdk/tools/jpackage/createimage/JPackageCreateImageTest.java	Wed Feb 06 09:00:28 2019 -0500
@@ -38,8 +38,8 @@
         "--output", "output",
         "--name", "test",
         "--main-jar", "hello.jar",
-        "--class", "Hello",
-        "--force",
+        "--main-class", "Hello",
+        "--overwrite",
         "--files", "hello.jar"};
 
     public static void main(String[] args) throws Exception {
--- a/test/jdk/tools/jpackage/createimage/JPackageCreateImageVerboseTest.java	Mon Feb 04 15:00:29 2019 -0500
+++ b/test/jdk/tools/jpackage/createimage/JPackageCreateImageVerboseTest.java	Wed Feb 06 09:00:28 2019 -0500
@@ -38,8 +38,8 @@
         "--output", "output",
         "--name", "test",
         "--main-jar", "hello.jar",
-        "--class", "Hello",
-        "--force",
+        "--main-class", "Hello",
+        "--overwrite",
         "--files", "hello.jar"};
 
     private static final String[] CMD_VERBOSE = {
@@ -48,9 +48,9 @@
         "--output", "output",
         "--name", "test",
         "--main-jar", "hello.jar",
-        "--class", "Hello",
+        "--main-class", "Hello",
         "--files", "hello.jar",
-        "--force",
+        "--overwrite",
         "--verbose"};
 
     private static void validate(String result, String resultVerbose)
--- a/test/jdk/tools/jpackage/createimage/JPackageCreateImageVersionTest.java	Mon Feb 04 15:00:29 2019 -0500
+++ b/test/jdk/tools/jpackage/createimage/JPackageCreateImageVersionTest.java	Wed Feb 06 09:00:28 2019 -0500
@@ -45,8 +45,8 @@
         "--output", "output",
         "--name", "test",
         "--main-jar", "hello.jar",
-        "--class", "Hello",
-        "--force",
+        "--main-class", "Hello",
+        "--overwrite",
         "--files", "hello.jar"};
 
     private static final String[] CMD_VERSION = {
@@ -55,9 +55,9 @@
         "--output", "output",
         "--name", "test",
         "--main-jar", "hello.jar",
-        "--class", "Hello",
+        "--main-class", "Hello",
         "--files", "hello.jar",
-        "--force",
+        "--overwrite",
         "--app-version", VERSION};
 
     private static void validate(String version)
--- a/test/jdk/tools/jpackage/createinstaller/linux/base/JPackageCreateInstallerBase.java	Mon Feb 04 15:00:29 2019 -0500
+++ b/test/jdk/tools/jpackage/createinstaller/linux/base/JPackageCreateInstallerBase.java	Wed Feb 06 09:00:28 2019 -0500
@@ -67,13 +67,14 @@
         }
         CMD = new String[]{
             "create-installer",
+            "--installer-type",
             EXT,
             "--input", "input",
             "--output", "output",
             "--name", TEST_NAME,
             "--main-jar", "hello.jar",
-            "--class", "Hello",
-            "--force",
+            "--main-class", "Hello",
+            "--overwrite",
             "--files", "hello.jar"};
     }
 
--- a/test/jdk/tools/jpackage/createinstaller/linux/base/JPackageCreateInstallerBundleNameBase.java	Mon Feb 04 15:00:29 2019 -0500
+++ b/test/jdk/tools/jpackage/createinstaller/linux/base/JPackageCreateInstallerBundleNameBase.java	Wed Feb 06 09:00:28 2019 -0500
@@ -69,13 +69,14 @@
         }
         CMD = new String[]{
             "create-installer",
+            "--installer-type",
             EXT,
             "--input", "input",
             "--output", "output",
             "--name", TEST_NAME,
             "--main-jar", "hello.jar",
-            "--class", "Hello",
-            "--force",
+            "--main-class", "Hello",
+            "--overwrite",
             "--files", "hello.jar",
             "--linux-bundle-name", BUNDLE_NAME};
     }
--- a/test/jdk/tools/jpackage/createinstaller/linux/base/JPackageCreateInstallerFileAssociationsBase.java	Mon Feb 04 15:00:29 2019 -0500
+++ b/test/jdk/tools/jpackage/createinstaller/linux/base/JPackageCreateInstallerFileAssociationsBase.java	Wed Feb 06 09:00:28 2019 -0500
@@ -131,13 +131,14 @@
         }
         CMD = new String[]{
             "create-installer",
+            "--installer-type",
             EXT,
             "--input", "input",
             "--output", "output",
             "--name", TEST_NAME,
             "--main-jar", "hello.jar",
-            "--class", "Hello",
-            "--force",
+            "--main-class", "Hello",
+            "--overwrite",
             "--files", "hello.jar",
             "--file-associations", "fa.properties"};
     }
--- a/test/jdk/tools/jpackage/createinstaller/linux/base/JPackageCreateInstallerInstallDirBase.java	Mon Feb 04 15:00:29 2019 -0500
+++ b/test/jdk/tools/jpackage/createinstaller/linux/base/JPackageCreateInstallerInstallDirBase.java	Wed Feb 06 09:00:28 2019 -0500
@@ -73,13 +73,14 @@
         }
         CMD = new String[]{
             "create-installer",
+            "--installer-type",
             EXT,
             "--input", "input",
             "--output", "output",
             "--name", TEST_NAME,
             "--main-jar", "hello.jar",
-            "--class", "Hello",
-            "--force",
+            "--main-class", "Hello",
+            "--overwrite",
             "--files", "hello.jar",
             "--install-dir", "/opt/jpackage"};
     }
--- a/test/jdk/tools/jpackage/createinstaller/linux/base/JPackageCreateInstallerLicenseBase.java	Mon Feb 04 15:00:29 2019 -0500
+++ b/test/jdk/tools/jpackage/createinstaller/linux/base/JPackageCreateInstallerLicenseBase.java	Wed Feb 06 09:00:28 2019 -0500
@@ -68,13 +68,14 @@
         }
         CMD = new String [] {
         "create-installer",
+        "--installer-type",
         EXT,
         "--input", "input",
         "--output", "output",
         "--name", TEST_NAME,
         "--main-jar", "hello.jar",
-        "--class", "Hello",
-        "--force",
+        "--main-class", "Hello",
+        "--overwrite",
         "--files", "hello.jar",
         "--license-file", JPackagePath.getLicenseFilePath()};
     }
--- a/test/jdk/tools/jpackage/createinstaller/linux/base/JPackageCreateInstallerLicenseTypeBase.java	Mon Feb 04 15:00:29 2019 -0500
+++ b/test/jdk/tools/jpackage/createinstaller/linux/base/JPackageCreateInstallerLicenseTypeBase.java	Wed Feb 06 09:00:28 2019 -0500
@@ -90,13 +90,14 @@
         }
         CMD = new String[]{
             "create-installer",
+            "--installer-type",
             EXT,
             "--input", "input",
             "--output", "output",
             "--name", TEST_NAME,
             "--main-jar", "hello.jar",
-            "--class", "Hello",
-            "--force",
+            "--main-class", "Hello",
+            "--overwrite",
             "--files", "hello.jar",
             "--linux-rpm-license-type", JP_LICENSE_TYPE};
     }
--- a/test/jdk/tools/jpackage/createinstaller/linux/base/JPackageCreateInstallerMaintainerBase.java	Mon Feb 04 15:00:29 2019 -0500
+++ b/test/jdk/tools/jpackage/createinstaller/linux/base/JPackageCreateInstallerMaintainerBase.java	Wed Feb 06 09:00:28 2019 -0500
@@ -91,8 +91,8 @@
             "--output", "output",
             "--name", TEST_NAME,
             "--main-jar", "hello.jar",
-            "--class", "Hello",
-            "--force",
+            "--main-class", "Hello",
+            "--overwrite",
             "--files", "hello.jar",
             "--linux-deb-maintainer", EMAIL};
     }
--- a/test/jdk/tools/jpackage/createinstaller/linux/base/JPackageCreateInstallerPackageDepsBase.java	Mon Feb 04 15:00:29 2019 -0500
+++ b/test/jdk/tools/jpackage/createinstaller/linux/base/JPackageCreateInstallerPackageDepsBase.java	Wed Feb 06 09:00:28 2019 -0500
@@ -114,24 +114,26 @@
         }
         CMD = new String[]{
             "create-installer",
+            "--installer-type",
             EXT,
             "--input", "input",
             "--output", "output",
             "--name", TEST_NAME,
             "--main-jar", "hello.jar",
-            "--class", "Hello",
-            "--force",
+            "--main-class", "Hello",
+            "--overwrite",
             "--files", "hello.jar",
             "--linux-package-deps", DEP_NAME.toLowerCase()};
         CMD_DEP = new String[]{
             "create-installer",
+            "--installer-type",
             EXT,
             "--input", "input",
             "--output", "output",
             "--name", DEP_NAME,
             "--main-jar", "hello.jar",
-            "--class", "Hello",
-            "--force",
+            "--main-class", "Hello",
+            "--overwrite",
             "--files", "hello.jar"};
     }
 
--- a/test/jdk/tools/jpackage/createinstaller/macosx/base/JPackageCreateInstallerBase.java	Mon Feb 04 15:00:29 2019 -0500
+++ b/test/jdk/tools/jpackage/createinstaller/macosx/base/JPackageCreateInstallerBase.java	Wed Feb 06 09:00:28 2019 -0500
@@ -61,13 +61,14 @@
         OUTPUT = "output" + File.separator + TEST_NAME + "-1.0." + EXT;
         CMD = new String[]{
             "create-installer",
+            "--installer-type",
             EXT,
             "--input", "input",
             "--output", "output",
             "--name", TEST_NAME,
             "--main-jar", "hello.jar",
-            "--class", "Hello",
-            "--force",
+            "--main-class", "Hello",
+            "--overwrite",
             "--files", "hello.jar"};
     }
 
--- a/test/jdk/tools/jpackage/createinstaller/macosx/base/JPackageCreateInstallerFileAssociationsBase.java	Mon Feb 04 15:00:29 2019 -0500
+++ b/test/jdk/tools/jpackage/createinstaller/macosx/base/JPackageCreateInstallerFileAssociationsBase.java	Wed Feb 06 09:00:28 2019 -0500
@@ -125,13 +125,14 @@
         OUTPUT = "output" + File.separator + TEST_NAME + "-1.0." + EXT;
         CMD = new String[]{
             "create-installer",
+            "--installer-type",
             EXT,
             "--input", "input",
             "--output", "output",
             "--name", TEST_NAME,
             "--main-jar", "hello.jar",
-            "--class", "Hello",
-            "--force",
+            "--main-class", "Hello",
+            "--overwrite",
             "--files", "hello.jar",
             "--file-associations", "fa.properties"};
     }
--- a/test/jdk/tools/jpackage/createinstaller/macosx/base/JPackageCreateInstallerInstallDirBase.java	Mon Feb 04 15:00:29 2019 -0500
+++ b/test/jdk/tools/jpackage/createinstaller/macosx/base/JPackageCreateInstallerInstallDirBase.java	Wed Feb 06 09:00:28 2019 -0500
@@ -61,13 +61,14 @@
         OUTPUT = "output" + File.separator + TEST_NAME + "-1.0." + EXT;
         CMD = new String[]{
             "create-installer",
+            "--installer-type",
             EXT,
             "--input", "input",
             "--output", "output",
             "--name", TEST_NAME,
             "--main-jar", "hello.jar",
-            "--class", "Hello",
-            "--force",
+            "--main-class", "Hello",
+            "--overwrite",
             "--files", "hello.jar",
             "--install-dir", "/Applications/jpackage"};
     }
--- a/test/jdk/tools/jpackage/createinstaller/macosx/base/JPackageCreateInstallerLicenseBase.java	Mon Feb 04 15:00:29 2019 -0500
+++ b/test/jdk/tools/jpackage/createinstaller/macosx/base/JPackageCreateInstallerLicenseBase.java	Wed Feb 06 09:00:28 2019 -0500
@@ -62,13 +62,14 @@
         OUTPUT = "output" + File.separator + TEST_NAME + "-1.0." + EXT;
         CMD = new String [] {
         "create-installer",
+        "--installer-type",
         EXT,
         "--input", "input",
         "--output", "output",
         "--name", TEST_NAME,
         "--main-jar", "hello.jar",
-        "--class", "Hello",
-        "--force",
+        "--main-class", "Hello",
+        "--overwrite",
         "--files", "hello.jar",
         "--license-file", JPackagePath.getLicenseFilePath()};
     }
--- a/test/jdk/tools/jpackage/createinstaller/windows/base/JPackageCreateInstallerBase.java	Mon Feb 04 15:00:29 2019 -0500
+++ b/test/jdk/tools/jpackage/createinstaller/windows/base/JPackageCreateInstallerBase.java	Wed Feb 06 09:00:28 2019 -0500
@@ -69,13 +69,14 @@
         OUTPUT = "output" + File.separator + TEST_NAME + "-1.0." + EXT;
         CMD = new String[]{
             "create-installer",
+            "--installer-type",
             EXT,
             "--input", "input",
             "--output", "output",
             "--name", TEST_NAME,
             "--main-jar", "hello.jar",
-            "--class", "Hello",
-            "--force",
+            "--main-class", "Hello",
+            "--overwrite",
             "--files", "hello.jar"};
     }
 
--- a/test/jdk/tools/jpackage/createinstaller/windows/base/JPackageCreateInstallerFileAssociationsBase.java	Mon Feb 04 15:00:29 2019 -0500
+++ b/test/jdk/tools/jpackage/createinstaller/windows/base/JPackageCreateInstallerFileAssociationsBase.java	Wed Feb 06 09:00:28 2019 -0500
@@ -143,13 +143,14 @@
         OUTPUT = "output" + File.separator + TEST_NAME + "-1.0." + EXT;
         CMD = new String[]{
             "create-installer",
+            "--installer-type",
             EXT,
             "--input", "input",
             "--output", "output",
             "--name", TEST_NAME,
             "--main-jar", "hello.jar",
-            "--class", "Hello",
-            "--force",
+            "--main-class", "Hello",
+            "--overwrite",
             "--files", "hello.jar",
             "--file-associations", "fa.properties"};
     }
--- a/test/jdk/tools/jpackage/createinstaller/windows/base/JPackageCreateInstallerLicenseBase.java	Mon Feb 04 15:00:29 2019 -0500
+++ b/test/jdk/tools/jpackage/createinstaller/windows/base/JPackageCreateInstallerLicenseBase.java	Wed Feb 06 09:00:28 2019 -0500
@@ -69,13 +69,14 @@
         OUTPUT = "output" + File.separator + TEST_NAME + "-1.0." + EXT;
         CMD = new String [] {
         "create-installer",
+        "--installer-type",
         EXT,
         "--input", "input",
         "--output", "output",
         "--name", TEST_NAME,
         "--main-jar", "hello.jar",
-        "--class", "Hello",
-        "--force",
+        "--main-class", "Hello",
+        "--overwrite",
         "--files", "hello.jar",
         "--license-file", JPackagePath.getLicenseFilePath()};
     }
--- a/test/jdk/tools/jpackage/createinstaller/windows/base/JPackageCreateInstallerWinDirChooserBase.java	Mon Feb 04 15:00:29 2019 -0500
+++ b/test/jdk/tools/jpackage/createinstaller/windows/base/JPackageCreateInstallerWinDirChooserBase.java	Wed Feb 06 09:00:28 2019 -0500
@@ -69,13 +69,14 @@
         OUTPUT = "output" + File.separator + TEST_NAME + "-1.0." + EXT;
         CMD = new String[]{
             "create-installer",
+            "--installer-type",
             EXT,
             "--input", "input",
             "--output", "output",
             "--name", TEST_NAME,
             "--main-jar", "hello.jar",
-            "--class", "Hello",
-            "--force",
+            "--main-class", "Hello",
+            "--overwrite",
             "--files", "hello.jar",
             "--win-dir-chooser"};
     }
--- a/test/jdk/tools/jpackage/createinstaller/windows/base/JPackageCreateInstallerWinMenuBase.java	Mon Feb 04 15:00:29 2019 -0500
+++ b/test/jdk/tools/jpackage/createinstaller/windows/base/JPackageCreateInstallerWinMenuBase.java	Wed Feb 06 09:00:28 2019 -0500
@@ -69,13 +69,14 @@
         OUTPUT = "output" + File.separator + TEST_NAME + "-1.0." + EXT;
         CMD = new String[]{
             "create-installer",
+            "--installer-type",
             EXT,
             "--input", "input",
             "--output", "output",
             "--name", TEST_NAME,
             "--main-jar", "hello.jar",
-            "--class", "Hello",
-            "--force",
+            "--main-class", "Hello",
+            "--overwrite",
             "--files", "hello.jar",
             "--win-menu"};
     }
--- a/test/jdk/tools/jpackage/createinstaller/windows/base/JPackageCreateInstallerWinMenuGroupBase.java	Mon Feb 04 15:00:29 2019 -0500
+++ b/test/jdk/tools/jpackage/createinstaller/windows/base/JPackageCreateInstallerWinMenuGroupBase.java	Wed Feb 06 09:00:28 2019 -0500
@@ -69,13 +69,14 @@
         OUTPUT = "output" + File.separator + TEST_NAME + "-1.0." + EXT;
         CMD = new String[]{
             "create-installer",
+            "--installer-type",
             EXT,
             "--input", "input",
             "--output", "output",
             "--name", TEST_NAME,
             "--main-jar", "hello.jar",
-            "--class", "Hello",
-            "--force",
+            "--main-class", "Hello",
+            "--overwrite",
             "--files", "hello.jar",
             "--win-menu",
             "--win-menu-group", TEST_NAME};
--- a/test/jdk/tools/jpackage/createinstaller/windows/base/JPackageCreateInstallerWinPerUserInstallBase.java	Mon Feb 04 15:00:29 2019 -0500
+++ b/test/jdk/tools/jpackage/createinstaller/windows/base/JPackageCreateInstallerWinPerUserInstallBase.java	Wed Feb 06 09:00:28 2019 -0500
@@ -69,13 +69,14 @@
         OUTPUT = "output" + File.separator + TEST_NAME + "-1.0." + EXT;
         CMD = new String[]{
             "create-installer",
+            "--installer-type",
             EXT,
             "--input", "input",
             "--output", "output",
             "--name", TEST_NAME,
             "--main-jar", "hello.jar",
-            "--class", "Hello",
-            "--force",
+            "--main-class", "Hello",
+            "--overwrite",
             "--files", "hello.jar",
             "--win-per-user-install",
             "--win-menu",
--- a/test/jdk/tools/jpackage/createinstaller/windows/base/JPackageCreateInstallerWinRegistryNameBase.java	Mon Feb 04 15:00:29 2019 -0500
+++ b/test/jdk/tools/jpackage/createinstaller/windows/base/JPackageCreateInstallerWinRegistryNameBase.java	Wed Feb 06 09:00:28 2019 -0500
@@ -145,13 +145,14 @@
         OUTPUT = "output" + File.separator + TEST_NAME + "-1.0." + EXT;
         CMD = new String[]{
             "create-installer",
+            "--installer-type",
             EXT,
             "--input", "input",
             "--output", "output",
             "--name", TEST_NAME,
             "--main-jar", "hello.jar",
-            "--class", "Hello",
-            "--force",
+            "--main-class", "Hello",
+            "--overwrite",
             "--files", "hello.jar",
             "--file-associations", "fa.properties",
             "--win-registry-name", WIN_REGISTRY_NAME};
--- a/test/jdk/tools/jpackage/createinstaller/windows/base/JPackageCreateInstallerWinShortcutBase.java	Mon Feb 04 15:00:29 2019 -0500
+++ b/test/jdk/tools/jpackage/createinstaller/windows/base/JPackageCreateInstallerWinShortcutBase.java	Wed Feb 06 09:00:28 2019 -0500
@@ -75,13 +75,14 @@
         OUTPUT = "output" + File.separator + TEST_NAME + "-1.0." + EXT;
         CMD = new String[]{
             "create-installer",
+            "--installer-type",
             EXT,
             "--input", "input",
             "--output", "output",
             "--name", TEST_NAME,
             "--main-jar", "hello.jar",
-            "--class", "Hello",
-            "--force",
+            "--main-class", "Hello",
+            "--overwrite",
             "--files", "hello.jar",
             "--win-shortcut"};
     }