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

标签 java jar cmd terminal stack-trace

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

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

最佳答案

在主文件中,像这样包装内容并将堆栈跟踪转储到文件中(将异常处理保持在最低限度以举例说明重要行):

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。

关于java - 如何在所有操作系统上运行 .jar 文件并将输出保存到文件中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35252903/

相关文章:

java - 如何在 Java(和其他)中确定 "FI"的连字

java - 使用 perl 调用 jar 并使用 STDIN 传递变量

java - 如何从我的程序创建 Jar 文件

c# - 在 C# 中处理详细控制台输出的正确方法

batch-file - Bat 文件列表文件名

java - where 子句中的查询语法错误

java - 将动态参数传递给 @MapKey ("${dynamicParam}") (My-Batis)

java - 如何向 Jpanel 添加系统时间(运行)?

java - 从 eclipse 运行配置中提取命令行参数

java - 7zip 命令行 - 创建可执行 jar