executable created with "jpackage"silently fails if jar is missing

Viewed 424

We have packaged our application with jpackage and it works nicely.

Somehow someone inadvertently deleted the main jar from the installation directory. Since then the '.exe' failed to launch (obviously). Problem is it didn't show any kind of error message, so it took us a while to realize what was wrong.

Is there some way to have the exe show at least some useful error message?

1 Answers

Problems with the EXE generated by jpackage can be easier to diagnose if you activate the console with jpackage --win-console parameter.

You might not want to do this for the main app EXE, so instead you could distribute your application with a second launcher which has the console enabled and same main-class. Just create a new file appwithconsole.properties and use:

jpackage --add-launcher debugversion=appwithconsole.properties ... rest of command line.

appwithconsole.properties

main-class=as.used.in.command.line
win-console=true

Then try debugversion.exe after deleting the jar, it should report the error more clearly than the EXE without console:

Error: Could not find or load main class ...
Related