gpt4 book ai didi

java - 从可执行 Jar 运行外部程序

转载 作者:太空宇宙 更新时间:2023-11-04 11:22:26 24 4
gpt4 key购买 nike

我为其他人开发的 cmd 程序创建了一个简单的 SWING gui。为了运行这个程序,我执行这一行:

Process convertProcess = Runtime.getRuntime().exec("jlyt\\prog\\com_win\\jlyt.bat " + selectedFiles.getName());

jlyt 文件夹与我的 src 文件夹位于同一文件夹中(我使用的是 IntelliJ)。通过 IDE 运行时一切正常,但当我运行我创建的 jar 时则不然。我尝试从 IntelliJ 保存的目录以及 jlyt 文件夹的目录运行它。我没有将外部程序(在 jlyt 文件夹内)添加到我的 jar 中,因为它非常重。我希望我的 jar 与原始程序一起分发,而不是包含所有内容。

知道我应该如何构建我的 jar 吗?

谢谢。

最佳答案

我明白为什么你把/jlyt 放在/src 中,它在 IDE 中提供了便利。/jlyt 将作为资源复制到/bin/classes 或任何 IDE 目标中,这样一切就可以在 IDE 中运行。

当您 JAR 应用程序时,/jlyt 通常会添加到 JAR 中;但是,Windows 无法访问它。我假设您在尝试运行时将/jlyt 的副本放置在与 JAR 相同的文件夹中。

第一步,在终端中将当前目录设置为包含 JAR 和/jlyt 的文件夹。由于您在 exec() 中指定了相对路径,因此这应该足以运行所有内容。

您还可以尝试创建 JAR 的快捷方式(因为它是可执行的),并将工作目录设置为包含 JAR 的文件夹。

关于java - 从可执行 Jar 运行外部程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44761447/

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