java - 双击可执行 jar 时 Runtime.getRuntime().exec() 不起作用

标签 java ubuntu executable-jar

我有一些 Java (swing) 代码,可以调用 Runtime.getRuntime().exec()。如果我从命令行运行该程序,它运行得非常好。

问题是,当我没有从命令行运行时,应用程序不会调用 Runtime.getRuntime().exec(),因此我无法执行我想要的系统命令。当我双击 jar 文件时,会弹出 GUI,除了系统调用之外,一切都运行良好。

这是一个关于双击可执行 jar 后程序输出到控制台的类似线程,但它并不完全是我想要的: Double Clicking JAR file does not open Command Prompt

关于如何让它发挥作用有什么想法吗?非常感谢任何帮助!

我在虚拟机上运行 Ubuntu,我最终也想将其移植到 Mac 操作系统。

最佳答案

当您通过双击 Ubuntu 来调用可执行 jar 时,当前工作目录是您的主目录,而不是 jar 所在的目录。

你是对的@Volker Stampa,绝对路径名对于调用我需要调用的可执行文件是必要的。在您发表评论后,我确实尝试了此操作,但显然我的路径字符串错误。吸取教训,绝对路径总是最好的。感谢您的帮助!

关于java - 双击可执行 jar 时 Runtime.getRuntime().exec() 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23957898/

相关文章:

java - Spring Hateoas/HAL 抛出异常

java - PrintWriter 冲洗不起作用?

java - RxJava groupBy 和后续阻塞操作(onComplete 缺失?)

node.js - Next JS 编译问题 mutable globals 无法导出

java - 可执行 jar 文件找不到 main

java - 输入凭据,然后将 JSON 发布到 api java

ubuntu - 初学者使用 ffmpeg 将 YUV 文件转换为 .mp4

apache - 在同一台服务器上运行多个域

java - Maven无法获取可执行jar : Couldn't load main class

java - Python - IPython Notebook 无法找到 Java 可执行文件