Java9 packager with jlink compress tags

Tiago Santos :

when we create jlink runtime images we can use tags such as '--strip-debug', '--compress', '2', '--no-header-files', '--no-man-pages' , creating a distribution folder around 45mb.

If we want to use javapackager, for example to create an .DMG file, how can we do a similar compression? since these tags are not avaiable for javapackager. Without them the final bundle is around 100mb, losing a lot the java9 modularization advantages, so my question is if it is possible to use javapackager with JRE runtime images created by jlink.

thanks

Tiago Santos :

Answering my own question, we can just use the combination of two:

For MacOSX example:

1) generate a runtime dist with jlink, this will create a lib folder with around 50mb if you use compress tags.

2) Generate MacOSX.app with javapackager, this .app will come with a runtime lib folder around 98mb.

3) Simple replace them, right click MacOSX.app-> "show package contents", then go to Plugins/Java.runtime/Contents/Home/ and replace lib folder with the one generated by jLink.

This way you have a self-contained Java app with around 50mb instead of 100mb, thanks to beautiful Java9 modules.

Would be cool to do all of this just with javapackager, if it's possible I couldn't find how, I suggest to use something like gradle to execute all this process with 1 command.

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=473678&siteId=1