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