【问题标题】:executable jar console, where are my println()?可执行 jar 控制台,我的 println() 在哪里?
【发布时间】:2015-07-01 12:00:28
【问题描述】:

我实现了一个可以在 GUI 模式或控制台模式下“工作”的应用程序。这意味着如果用户(在 Windows 控制台 cmd 中)在没有参数的情况下启动应用程序
\>myapplication.jar
GUI 启动。如果用户启动应用程序并提供一些参数,例如
\&gt;myapplication.jar -src sourcefile<br>,则 gui 不会启动,但 prg 会解释参数。现在我的问题是,如果使用前缀
\&gt;java -jar myapplication.jar -somethings
运行应用程序,我会在控制台中看到所有 system.out.println(),它是美好的。如果我启动应用程序
\&gt;myapplication.jar -somethings
,我的所有 system.out.println(..) 都不会显示??在控制台中。为什么 ?
有人有一个解决方案可以避免每次都输入前缀>java -jar。我以前不想使用像“bash 文件”这样的脚本。

在此先感谢亚历克斯

(有些精度,系统是windows 7,我没有这台电脑的管理员权限)

【问题讨论】:

  • 目前还不清楚是什么问题,你能发布最小的代码来重现你的问题吗?或者至少展示你如何处理参数和你的打印命令。
  • 您好 user3779430,我已导出到可执行 jar (Eclipse)。如果我输入一个打开的控制台 myapplication.jar gui 启动,没关系。如果我键入相同的命令但带有参数,则 gui 不会启动,它是正确的,应用程序会解释参数,但我在控制台中看不到我的 system.out。在 gui 模式下,所有信息都显示在 GUI 中,在控制台模式下,我想在控制台中查看信息。如果我使用命令 java -jar myapplication.jar 启动应用程序就可以了
  • 你应该编辑你的问题并添加代码而不是添加到新的评论中,这样每个人都可以第一眼看到:)

标签: java windows console executable-jar


【解决方案1】:

java -jar ... 告诉命令行在打开的控制台中使用指定的参数运行javasomejar.jar -arg 告诉 Windows 使用给定的参数打开 somejar.jar。但这将创建一个全新的进程,它使用您输入命令的控制台。所以“somejar.jar”正在打印,但不是到可见的控制台。

【讨论】:

  • 你好,保罗,谢谢,好的,我明白了。现在,可以将这个新进程的输出重定向到这个活动控制台吗?
  • 不,分离内存。即使有可能,只需输入java -jar 会容易得多
猜你喜欢
  • 1970-01-01
  • 2022-11-20
  • 1970-01-01
  • 2011-12-31
  • 1970-01-01
  • 1970-01-01
  • 2011-08-08
  • 2010-09-08
  • 1970-01-01
相关资源
最近更新 更多