【发布时间】:2014-10-13 19:35:31
【问题描述】:
我的问题是我想从 Java 代码(我的 IntelliJ 插件)运行 shell 命令:
Runtime.getRuntime().exec("adb devices")
然后我收到 IOException:
无法运行程序“adb”:错误=2,没有这样的文件或目录。
奇怪的是,当我在调试模式下运行它时它可以工作,只有当我将插件部署到真正的 IntelliJ 时它才会损坏。该命令也适用于任何终端。 现在唯一可以使用的是输入带有完整路径的命令:
/Users/adamstyrc/utils/adb
但这不是解决方案。如何解决?我的猜测是手动加载 bash PATH 变量将 adb exec 文件添加到项目中,但这不是优雅的解决方案。提前致谢!
【问题讨论】:
-
您确定路径等是否正确。
-
是的,因为从终端它可以正常工作。我认为 IntelliJ 无法识别路径,但我不知道为什么
-
好的,我猜你是从同一个终端运行 intellij,所以你可以确定它选择了相同的路径(或者如果你修改了路径变量,你重新启动了终端和 intellij)
-
现在我看到当我从终端运行我的 IntelliJ 时: > open ../IntelliJ 它确实有效!但通常人们不会那样运行它。那么如何将 PATH 变量加载到这样启动的 IntelliJ 进程中呢?有没有 Java 命令?
-
我认为您只需要从具有正确路径的终端启动 intellij - 请参阅我的答案,我已尽力解释。
标签: java bash shell intellij-idea intellij-plugin