执行双击的Java jar文件时输出流

时间:2012-10-10 14:03:59

标签: java windows jar

在按照Running JAR file on Windows的建议后,您好了,每当我在Windows中双击它(它是一个JFrame应用程序)时,我就设法执行了我的.jar应用程序。

但是,当发生某些异常时,我会e.printstackTrace();并向UI生成自定义错误消息。当我从命令提示符启动'.jar'文件时,标准错误流是控制台。我的问题是,当我通过双击运行.jar时,异常跟踪在哪里?

这是一个“玩具”应用程序,所以我想避免使用日志记录机制 - 我只需要一个地方来转储所有异常跟踪以供以后调试。

谢谢。

2 个答案:

答案 0 :(得分:1)

  

我的问题是,当我通过双击运行.jar时,异常跟踪在哪里?

无处。它没有任何地方去,基本上 - 没有附加控制台。您可能想要找到用户的主目录并将日志文件放在那里,或类似的东西。

(而不是使用e.printStackTrace(),我建议使用正确的日志框架,无论是log4j,java.util.logging还是其他。你说你不想要一个日志记录机制,但是“一个地方转储所有异常跟踪以便以后调试“听起来像是记录给我......”

答案 1 :(得分:0)

您的异常stackTrace不在哪里。如果你直接双击jar,就没有任何附件了。

在一个地方转储所有异常跟踪的最佳方法是使用 Logging API。实施例。 Log4j,slf4j。 它们提供了适当的框架,使用它可以设置正确的文件名,目的地,放置的内容,即degug,错误,警告;此外,您可以限制文件大小并确定其存在期。