Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.1k views
in Technique[技术] by (71.8m points)

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

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?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

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 ...

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...