如何在所有操作系统上运行.jar文件将输出保存到文件?

时间:2016-02-07 11:30:24

标签: java jar cmd terminal stack-trace

有时更新我的​​罐子后。程序不会在某些平台上启动(我的意思是Win / Unix / Mac)。我想知道为什么。如果从命令行/终端运行.jar,则会获得堆栈跟踪并知道错误。但是用户并不总是知道如何使用cmd / terminal。

所以我的问题是:如何从给定系统上的默认cmd启动.jar文件并将输出保存到文件?

1 个答案:

答案 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。