slightly ot: java9 runtime images

Danno Ferrin danno.ferrin at oracle.com
Thu May 7 13:52:12 UTC 2015


> On May 7, 2015, at 6:27 AM, Tom Eugelink <tbee at tbee.org> wrote:
> 
> On 7-5-2015 02:15, Danno Ferrin wrote:
>> You can already do some of that today with Java 8 and the Java Packager.  You can create a file tree that can be zipped up that includes the runtime and all of the application files, as well as native installers for windows, linux, and mac that will install this file tree (or “image”).
>> 
>> We haven’t announced many public plans for Java 9 yet (since many parts are still TBD) so I cannot comment on how jigsaw and java packager will integrate, but I would expect that they will work together in some fashion.
>> 
> 
> From all the documentation I find, I understand that even though with Java packager you can create an executable including the (required parts of the) JVM, you still need to unpack and repack all the jars into a single jar. This has the problem of breaking signed jars. Classloader based solutions like onejar get into all kind of conflicts with possible other classloaders in the application.
> 

I don’t know where you got your information, it has never been the case for as long as i’ve used it and worked on it before my employ at Oracle that you have to rely on a single jar for Java Packager.  Repacking jars is completely unneeded and the Java Packager takes the library jars you provide without alteration, preserving external signatures and structure essential to stuff like OSGi.  

In fact, you can provide assets that are not jars and you can set the class path to only include certain jars, no need to unpack jars at runtime.


> It would be a major improvement (not only for JavaFX applications, but also standalone servers) if it would become possible to create a truly single distributable, without having to repack the jars. So either by automatic unpacking to a tmp and setting the classpath prior to stating java (cleaning up afterwards), or allowing jars-in-jars or jars-in-distributable.
> 

In 8u40 we added an option to install your application as service or daemon, so you can use the java packager to install your microsoervices.



More information about the openjfx-dev mailing list