Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
执行双击java jar文件时的输出流_Java_Windows_Jar - Fatal编程技术网

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

执行双击java jar文件时的输出流,java,windows,jar,Java,Windows,Jar,您好在遵循这里的建议之后,每当我在Windows中双击我的.jar应用程序(它是一个JFrame应用程序)时,我都会执行它 然而,当某个异常发生时,我会e.printstackTrace()并向UI生成自定义错误消息。当我从命令提示符启动“.jar”文件时,标准错误流是控制台。我的问题是,当我通过双击运行.jar时,异常跟踪会去哪里 这是一个“玩具”应用程序,所以我希望避免日志机制——我只需要一个地方来转储所有异常跟踪,以便以后调试 多谢各位 我的问题是,当我通过双击运行.jar时,异常跟踪会去

您好在遵循这里的建议之后,每当我在Windows中双击我的
.jar
应用程序(它是一个JFrame应用程序)时,我都会执行它

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

这是一个“玩具”应用程序,所以我希望避免日志机制——我只需要一个地方来转储所有异常跟踪,以便以后调试

多谢各位

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

没有。基本上,它无处可去——没有连接的控制台。您可能希望找到用户的主目录并在那里放置一个日志文件,或者类似的东西


(与其使用
e.printStackTrace()
,我建议使用一个合适的日志框架,不管是log4j、java.util.logging还是其他什么。你说你不想要日志机制,但“为以后调试转储所有异常跟踪的地方”对我来说听起来像是日志记录……

你的异常堆栈跟踪没有任何地方。如果您直接双击jar,它就不会附带任何内容

在一个位置转储所有异常跟踪的最佳方法是使用日志API。 例如Log4j、slf4j.
它们提供了适当的框架,使用该框架,您可以设置适当的文件名、目的地、放置内容,即degug、error、warning;此外,您还可以限制文件大小并决定其存在期限。

谢谢您的回答。我希望避免对300行代码(100行代码是自动生成的)并代表半天工作的应用程序使用日志记录。但是我喜欢使用用户的主目录。如果我没有遇到奇怪的权限问题,那就应该解决了。谢谢谢谢你的回答。考虑到我的程序有300行代码,我想最简单/最快的方法是使用用户的主目录,正如Jon Skeet在下面的回复中所建议的那样。再次感谢。