gpt4 book ai didi

Java调用外部进程-exe

转载 作者:行者123 更新时间:2023-12-01 11:00:59 25 4
gpt4 key购买 nike

我正在构建一个java应用程序,它有时会使用外部exe。此时,我尝试简单地将此 exe 添加为某种库,我可以在进程调用中使用它,因此用户不必安装它..

此 exe 文件是一个命令行工具,它会生成一些输出,并由应用程序进一步处理。

所以我的问题是,如何在java应用程序中包含exe文件,而不是将其作为系统进程调用。同样可以接受的是,如果这个 exe 位于最终的 lib 文件夹中,java 应用程序将在其中获取并执行它。

我希望它是清楚的,感谢您的帮助。

最佳答案

Java 通过多种方式与其他( native )代码交互:

  • 通过 Java native 接口(interface) (JNI) 专门编码的库
  • 通过使用 Runtime.getRuntime().exec(...) fork 子进程来连接到外部工具
  • 通过网络通信

在第一种情况下,将 JNI 库包含在 Java 程序中非常有用。可以考虑将其作为类资源包含在 JAR 文件中,但这违背了 JAR 文件(保存类和资源)的思想。更有可能的是,您应该将库(针对所有目标平台)与某种安装包(例如 InstallAnywhere 或其他)捆绑在一起

在第二种情况下,将二进制文件包含到 Java 程序中(即 JAR 文件中)是没有用的。相反,它很可能有(应该有)自己的安装过程,并且您的 Java 代码应该使用适当的命令行 (PATH) 来查找可执行文件。

我认为第三种情况不相关。

关于Java调用外部进程-exe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33322753/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com