java - 如何为 Runtime.exec 提供相对路径

标签 java process exec embedded-resource runtime.exec

大家好,我正在尝试借助此代码从 netbeans 目录运行 帮助文件(.chm)

Process proc=   Runtime.getRuntime().exec("hh.exe src/MOVECG_Pro.chm");

但是当我尝试在 netbeans 外部运行时出现问题,因为内部 jar src 文件夹不存在。请帮助我如何正确编码

最佳答案

您已将 chm 文件放入源代码目录中。显然,当您运行 JAR 时,该目录不存在。我想您想要一个独立的 JAR,其中包含捆绑在其中的帮助文件。

由于 exec 委托(delegate) native 平台将命令字符串解释为可以用来启动子进程的内容,因此您可以想象,透明地访问隐藏在 JAR 存档中的文件会遇到麻烦。

因此,要么单独提供帮助文件,要么编写代码在运行时从 JAR 中提取帮助文件。然后将其位置传递给 hh.exe

让我也做一个一般性的声明:由于您在这里编写一个 Java 程序,它应该是独立于平台的,所以您使用特定于 Windows 的帮助文件的方法并不完全按照书本。

关于java - 如何为 Runtime.exec 提供相对路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21330251/

相关文章:

c - 从 C 程序执行 "echo $PATH"?

java - 如何在 Spring Boot 应用程序中记录 Activity 配置?

javascript - 如何监视nodejs进程

process - 什么时候应该使用 OTP 行为而不是 spawn?

c# - 启动命令行,包括来自 C# 的参数

c - 将字符串作为标准输入传递给可执行文件

java - 检查对象是否是通用父类的实例

java - Spring Web Flow 可以在非 UI 上下文中使用吗?

java - 如何在 Windows/Linux/MacOS 系统启动时运行 Java 应用程序?

security - system() 与 execve()