jpackage EA Build 0

Andy Herrick andy.herrick at
Sat Dec 15 17:44:14 UTC 2018

On 12/15/2018 11:26 AM, Sverre Moe wrote:
> Some feedback from using this new JDK12 jpackage.
> The argument --version is no longer used for setting the bundler version.
> Thus one needs to specify bundle resources (spec for RPM and control 
> for DEB), if the version is anything other than "1.0".
Sorry - the name of the option was changed to "--appVersion" recently 
(to not conflict with --version used to display the version of jpackage).
> I have yet to find out how to specify the bundle resources. It tells 
> to put them on the class path, but that cannot be right, as jpackage 
> is module.
> Using default package resource [menu icon]  (add package/movies.png to 
> the class path to customize)

I meant to get back to you on this.  This is an incorrect warning 
message that needs to be fixed - I will file a bug.

The icon should be specified by the --icon option, has nothing to do 
with a class-path.  This is a resource for the packager not the app.

All resources for the app should be specified by combination of --input, 
--files, and --module-path

> Why is --icon the only bundle argument that can be set on jpackage?
> Using custom package resource [menu icon]  (loaded from file 
> /home/sverre/workspace/movies/src/main/deploy/package/linux/movies.png)
not sure I understand this.
> If these arguments where available there would be no need to add the 
> bundle resources to any class path.
> --version, --release, --icon, --desktop, --linux-rpm-spec-file, 
> --linux-deb-control-file, --windows-exe-iss-file
or this either,
> The project I am trying this on is a fully modularized JavaFX application.
>     task createInstaller(type: Exec) {
>         dependsOn createRuntime
>         dependsOn installDist
>         commandLine '/usr/java/jdk-12/bin/jpackage', 'create-installer',
>             '--verbose',
>             '--name', <>,
>             '--description', project.description,
>             '--vendor', "Smeaworks Inc",
>             '--install-dir', "/opt/smeaworks",
>             '--category', "Some/Category/Application",
>             '--module-path', new 
> File(installDist.outputs.files.singleFile, "lib"),
>             '--module', "${mainClassName}",
>             '--runtime-image', ""${buildDir}/runtime
>             '--output', "$buildDir/jfx/native"
>     }

the latest build contains bug JDK-8213392, which prevents using 
--module-path and --runtime-image together (see

This will soon be fixed - but it would still be advisable to run jlink 
first from the original runtime image with the desired module path. to 
get a minimal runtime image for your app.


> /Sverre
> Den fre. 14. des. 2018 kl. 13:47 skrev Andy Herrick 
> <andy.herrick at <mailto:andy.herrick at>>:
>     I am pleased to announce that the first EA build of jpackage is now
>     available at :
>     This is an early access build of JEP 343: Packaging Tool
>     <>, aimed at testing a prototype
>     implementation of jpackage,
>     This build is intended for developers interested in jpackage, and is
>     provided as a convenience so that they don't need to build from the
>     source code <>
>     (branch="JDK-8200758-branch").
>     Warning: This build is based on an incomplete version of JDK 12
>     <>.
>     Please send feedback via e-mail to core-libs-dev at
>     <mailto:core-libs-dev at>
>     /Andy

More information about the core-libs-dev mailing list