If you use the gui
header and there is some error, you do not get any information on what went wrong.
If you use --l4j-debug
and then look at the log file, you at least can see what was called and then call the same command with java
instead of javaw
to get the actual error.
It would be really nice if in the case that within the first X seconds the called process dies with a non-zero exit code, the same command is invoked again with java
instead of javaw
and the resulting stdout and stderr output displayed in some message box.
This way you would for example get the error message that the Java is too old displayed. Alternatively you could also output the command (with java
, not javaw
) that one should run to get the actual error message.
For messages that are displayed by the actual application like wrong command line arguments, the actual application could of course be in charge to display a message box instead of printing to stderr, but there are errors like UnsupportedClassVersionError
if a too old Java is used to call the application or some broken Java installation or whatever, that happen before the actual application code is called and thus cannot be shown by the actual application itself.