我想从批处理文件启动我的 Java 程序。这是我想用来启动应用程序的脚本,但问题是我无法将控制台输出重定向到日志文件。任何人都可以提供任何提示,而无需编辑任何代码,并使用 Java 命令行选项或其他东西吗?
@echo off
set TASK=MyApp
TITLE %TASK%
start javaw.exe -cp .;Server.jar;Util.jar com.manage.Program %1 > log.log 2>&1
taskkill /T /FI "WINDOWTITLE eq %TASK%"
因此,上面的方法有效,并且实际上杀死了生成我的 Swing 应用程序的 cmd 窗口,但它不会将任何内容记录到日志文件中,大概是因为“start”将进程从 "> log.log 2>&1 中分叉出来“arg?
我可能可以通过使用 start 调用另一个批处理文件来修复它,但我希望得到一个更优雅的答案。
它比你想象的更简单。
您只需要更改System.out
:
System.setOut(new PrintStream(new FileOutputStream("log.txt",true)));
就是这样!
祝你好运。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)