OS X application won't launch with jigsaw

Alan Bateman Alan.Bateman at oracle.com
Wed Nov 25 08:27:05 UTC 2015


On 25/11/2015 00:11, Michael Hall wrote:
> Up to now I have been able to take java 9 builds and paste the appropriate contents into a OS X javapackager produced application and have it run with the embedded jdk.
> I just got a jigsaw build instead of the main 9 forest and it does not launch.
> I get…
> 11/24/15 5:54:16.326 PM com.apple.xpc.launchd[1]: (us.hall.hp.common.86368[4137]) Service exited with abnormal code: 1
> What is different, and not quite so good, with the jake build?
>
> Previously I noticed the lib/modules directory contained individual modules like java.base. I notice the jake build now has only bootmodules.jimage.
> I assume this is the current correct container for all modules? This sort of rhetorical, if true.
Yes, this is the container file. If you previously saw a directory named 
modules/java.base then I assume you must have been looking at an 
exploded build rather than an images build. I think we touched on this 
in your other thread where you used the build <build-output>/jdk tree 
rather than <build-output>/images/jdk.

>
> I watched some of the java9 videos off of the provided links. It was mentioned that the modules no longer use jar/zip. A more efficient way to package the modules has been developed. Is this file format available for use outside the jdk? Are there any tools that work with jimage now or in the works?
>
The jimage file that you see in the JDK image is internal to the 
run-time image. The format is not meant to be documented as it is likely 
to change frequently. Application and library modules can be packaged as 
modular JAR files, these are just regular JAR files but with a compiled 
module declaration (module-info.class) in the top-level directory of the 
JAR file. The jar tool is updated in the jake builds to support modular 
JARs.

-Alan


More information about the jigsaw-dev mailing list