首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >由: java.io.IOException: error=2引起,没有这样的文件或目录

由: java.io.IOException: error=2引起,没有这样的文件或目录
EN

Stack Overflow用户
提问于 2019-02-18 07:46:42
回答 4查看 26.5K关注 0票数 9
代码语言:javascript
运行
复制
java.io.IOException: Cannot run program "yarn": error=2, No such file or directory
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
    at java.lang.Runtime.exec(Runtime.java:620)
    at java.lang.Runtime.exec(Runtime.java:450)
    at java.lang.Runtime.exec(Runtime.java:347)
    at com.Main.main(Main.java:32)

嗨,我在使用Java执行命令时遇到了一个奇怪的问题。我使用下面的代码来运行一个命令,如果我运行mkdir testFolder,程序就会成功运行,但是如果我像yarn -v一样更改了命令,那么就会发生错误。

代码语言:javascript
运行
复制
try {
    Process process = Runtime.getRuntime().exec("yarn -v");//, null, new File("/Users/macos/Desktop/TestProj/"));
} catch (IOException ex) {
    ex.printStackTrace();
}

P/s:在调试模式下: IntelliJ可以运行以上代码,但是Netbeans失败了。

在生产模式(jar文件):IntelliJ也失败了。

编辑2:

代码语言:javascript
运行
复制
  MACs-MacBook-Pro:~ macos$ which pwd
    /bin/pwd
    MACs-MacBook-Pro:~ macos$ which mkdir
    /bin/mkdir
    MACs-MacBook-Pro:~ macos$ which java
    /usr/bin/java
    MACs-MacBook-Pro:~ macos$ which yarn
    /usr/local/bin/yarn

我发现,如果在/bin/usr/bin中运行一个命令,代码就会运行ok (pwd、mkdir、java -version .),但是纱线在/usr/local/bin/中,所以没有工作,我仍然不知道如何修复。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2019-02-28 10:11:47

我最终找到了答案,因为我启动的进程与终端进程不同,因此无法访问/usr/local/bin,必须添加-l才能以登录用户的身份运行命令。Runtime.getRuntime().exec(new String[]{"bash", "-l", "-c", cmd}, null, new File(f))

票数 10
EN

Stack Overflow用户

发布于 2019-02-18 07:58:24

正如error代码2所建议的那样,您指定的路径不正确。错误代码对应于POSIX ENOENT和它的char * strerror(int errno)表示形式“没有这样的文件或目录”。

要自己解决问题,您可以阅读手册页http://man7.org/linux/man-pages/man2/execve.2.html

有关部分是:

恩诺特 文件文件名、脚本或ELF解释器不存在,或者找不到文件或解释器所需的共享库。

要查看您的进程是哪条粒子路径,请运行java witj strace -f

票数 1
EN

Stack Overflow用户

发布于 2020-03-05 06:02:38

在我的例子中,我使用了一个带有fork=true属性的称为javac任务的ANT脚本。在maphongba008答案的启发下,我删除了那个分叉,所以我不再收到同样的错误。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54742540

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档