有时更新我的罐子后。程序不会在某些平台上启动(我的意思是Win / Unix / Mac)。我想知道为什么。如果从命令行/终端运行.jar,则会获得堆栈跟踪并知道错误。但是用户并不总是知道如何使用cmd / terminal。
所以我的问题是:如何从给定系统上的默认cmd启动.jar文件并将输出保存到文件?
答案 0 :(得分:1)
在主文件中包装这样的内容并将堆栈跟踪转储到一个文件中(将异常处理保持在最低限度以示例重要的行):
try{
//..main code here
} catch (Exception e)
{
FileWriter fw = new FileWriter ("run.log", true);
PrintWriter pw = new PrintWriter (fw);
e.printStackTrace (pw);
pw.close();
}
这将把整个堆栈跟踪转储到一个文件,而不管抛出的异常和用户所在的操作系统。您也可以使用Throwable而不是Exception。