javainstall4jonejar

How do I configure install4j to run a java executable jar file which contains other jar files?


I have java an executable jar file that has many other jar files embedded in it. It uses simon tuffs onejar to accomplish this. The jar runs correctly when I double-click it, or issue 'java -jar myApp.jar' from the command prompt. The jar file has a manifest.mf containing:

Manifest-Version: 1.0
Main-Class: com.simontuffs.onejar.Boot
One-Jar-Expand: expand,doc

Install4j correctly copies this jar file to my bin folder, but the 'myApp.exe' that it creates fails to launch. I get:

java.lang.ClassNotFoundException: com.ndi.foreCee.programs.MyApp

or:

java.lang.ClassNotFoundException: com.simontuffs.onejar.Boot

depending on what I plug into install4j's Configure Java invocation page 'Main class'. I've set 'Class path:' to 'Archive bin\myApp.jar'.

Can anyone tell how to configure install4j to build an exe that just issues 'java -jar myApp.jar', using the embedded jre?


Solution

  • I solved my problem by updating my ant build and removing simon tuffs one-jar and replacing it with: as described in Including external jar-files in a new jar-file build with Ant . After that, the Install4J launcher worked as advertised (and as M2E67 described).