--- old/src/jdk.jpackage/share/classes/jdk/jpackage/internal/DeployParams.java 2019-04-19 16:02:11.992788190 -0700 +++ new/src/jdk.jpackage/share/classes/jdk/jpackage/internal/DeployParams.java 2019-04-19 16:02:11.712788198 -0700 @@ -364,10 +364,6 @@ if (resources.isEmpty()) { throw new PackagerException("ERR_MissingAppResources"); } - if (!hasClass) { - throw new PackagerException("ERR_MissingArgument", - "--main-class"); - } if (!hasMain) { throw new PackagerException("ERR_MissingArgument", "--main-jar"); @@ -455,7 +451,7 @@ } static final Set multi_args = new TreeSet<>(Arrays.asList( - StandardBundlerParam.JVM_OPTIONS.getID(), + StandardBundlerParam.JAVA_OPTIONS.getID(), StandardBundlerParam.ARGUMENTS.getID(), StandardBundlerParam.MODULE_PATH.getID(), StandardBundlerParam.ADD_MODULES.getID(), @@ -469,7 +465,14 @@ if (multi_args.contains(key)) { Object existingValue = bundlerArguments.get(key); if (existingValue instanceof String && value instanceof String) { - bundlerArguments.put(key, existingValue + "\n\n" + value); + String delim = "\n\n"; + if (key.equals(StandardBundlerParam.MODULE_PATH.getID())) { + delim = File.pathSeparator; + } else if (key.equals( + StandardBundlerParam.ADD_MODULES.getID())) { + delim = ","; + } + bundlerArguments.put(key, existingValue + delim + value); } else if (existingValue instanceof List && value instanceof List) { ((List)existingValue).addAll((List)value); } else if (existingValue instanceof Map && @@ -490,8 +493,6 @@ // construct app resources relative to output folder! bundleParams.setAppResourcesList(resources); - bundleParams.setIdentifier(id); - bundleParams.setApplicationClass(applicationClass); bundleParams.setAppVersion(version); bundleParams.setType(bundleType);