1
我有一个jar文件,我没有源代码(这是比较旧的)。我知道当它运行时,它充当服务器(传入和传出连接),并吐出大量的控制台输出。我想要做的是让另一个Java应用程序使用exec来启动它,并在其内部重定向流,以便它可以监视jar输出中的特定关键字或时间戳。该计划的目的是跟踪某些事件,并提供事件发生时间的全貌,并在未来发生时“学习”如何作出反应。实时重定向控制台输出流使用Java
我猜,从我迄今为止所做的阅读中,棘手的部分是要实时获取数据,而不是在数据流关闭之后。
我该怎么做呢?
你想要执行它的任何理由,而不是简单地提供额外的类,然后直接在现有的JVM中调用jar?您可以轻松地将标准重定向。还要注意,如果这是日志输出,重新配置日志框架可能非常简单。 – 2015-02-06 22:10:42
@ThorbjørnRavn Andersen我不知道这是可能的。有关如何做到这一点的任何提示? – 2015-02-06 22:22:15
将jar放在你的类路径中。找出旧的main()方法在哪里。写一个新的main()来完成你所需要的,并调用旧的main()。另请参阅http://stackoverflow.com/questions/2851234/system-out-to-a-file-in-java – 2015-02-07 01:00:00