我有一个.jar文件,我可以从OS X上的终端运行,它接收来自终端的输入并在终端中产生输出。是否可以将此.jar文件合并到Eclipse Java项目中,我可以在Java项目中提供输入到.jar文件的输入,还可以将输出作为String或我可以操作的内容接收?
非常感谢。
答案 0 :(得分:3)
简短的回答是肯定的。
"哑巴"方法是使用ProcessBuilder以编程方式通过命令行与jar进行交互。
更好的方法是jar暴露某种API。然后你只需要将jar添加到类路径中并像使用任何其他函数一样使用函数。
答案 1 :(得分:1)
我猜this问题很好地解决了你的问题。我将复制粘贴上面链接的问题的解决方案。
只需在新进程中启动.jar并获取输入和输出流:
Process proc = Runtime.getRuntime().exec("java -jar A.jar");
InputStream in = proc.getInputStream();
InputStream err = proc.getErrorStream();