With more end users having no JVM installed on the windows platform, I have been investigating alternatives on providing a native executable version of my java application.
I have tried:
- Excelsior JET but I will not be able to convince my work to pay for a license
- Java Native Compiler… but that is limited to java 1.5
- Launch4J to make a exe-jar wrapper + embed a 1.7 JRE… way too large even when compressed using LZMA ( > 44Meg ) and the license is such that you cannot remove unwanted components.
Then I found that Azul Systems provide a Windows binary of OpenJDK (called Zulu).
4. Launch4J to make a exe-jar wrapper + embed 1.7 Zulu JRE … getting better( ~ 17 Meg )
5. Launch4J to make a exe-jar wrapper + embed 1.7 Zulu JRE, but perform Pack200 on all the jars + batchfile to unpack200 the jars… better again!( ~ 12 Meg )
6. Launch4J to make a exe-jar wrapper + embed 1.7 Zulu JRE, but perform Pack200 on all the jars + batchfile to unpack200 the jars + perform lossless shrinking of the JRE dlls,gifs,exes,etc… ( ~ 11 Meg )
That seems quite reasonable… and that is without stripping any of the actual JRE functionality.