我有一些 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/