我在OS X Mavericks上运行mvn时出现以下错误:无法运行程序“/ bin / sh”:error = 2,没有这样的文件或目录

时间:2015-05-19 15:10:06

标签: java macos maven

我在MacBook Pro上运行OS X Mavericks。

我安装了maven 3.0.5。

当我运行mvn时,我收到以下错误消息。

Error while executing process. Cannot run program "/bin/sh": error-2, No such file or directory

在你问之前:

PATH="/usr/local/apache-maven-3.0.5/bin:/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/bin:/usr/local/bin:/bin:/usr/bin"

M2_HOME="/usr/local/apache-maven-3.0.5"

M2="/usr/local/apache-maven-3.0.5/bin"

MAVEN_OPTS="-Xms256m -Xmx768m -XX:MaxPermSize=512m"

我也在mvn输出的开头附近看到以下内容:     [警告]构建有效设置时遇到了一些问题

[WARNING] Failed to use environment variables for interpolation: Cannot run program "env": error=0, spawn failed @ 

3 个答案:

答案 0 :(得分:9)

我遇到了同样的问题:exec()因任何可执行文件而失败。最后记得我正在使用私人jre。那个jre是原始版本的副本,只是将bin / java设置为可执行文件。

我制作了lib / jspawnhelper可执行文件并且有效!

答案 1 :(得分:0)

您的系统似乎缺少" sh" shell开始解释脚本。

我只是在Mac OSX上查找已安装的shell并得到了这个结果:

{clickable:false}

所以当" / bin / sh"缺少,尝试" / bin / bash"例如。

更好:

  1. 检查" / bin / sh"存在
  2. 如果存在,请检查运行该命令的用户是否可以执行shell
  3. 因为shell二进制文件可能存在但不可执行。然后你必须让用户尝试使用mvn。

    希望有所帮助;)

答案 2 :(得分:0)

如果您使用的是eclipse,这是由于java版本。将java指向你的OS java而不是eclipse java。这将解决