我有一个使用线程运行繁重任务的应用程序。当线程结束自己的任务时,它会创建一个文件并使用System.out.println()
发送一条消息。
在Eclipse中运行正常,但是一旦编译成 .jar 并从控制台调用,它就不会显示任何内容。 然而,它会正确创建文件。
当我通过控制台调用应用程序时,会出现一个新的控制台提示,虽然程序还没有完成(我知道它因为还没有生成文件)。
答案 0 :(得分:3)
我怀疑问题是你是如何执行jar文件的。如果您只是从Windows运行它,它可能与javaw.exe
一起运行。只需明确地运行它:
java -jar foo.jar
一切都应该没问题。顺便说一句,这与线程无关......它只是jar文件的执行方式。