2015-05-19 243 views
4

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

我安装了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 @ 
遇到 [警告一些问题
+0

你可以在终端运行'哪个sh'并发布结果? '/ bin/sh'是该可执行文件的正确目录,除非你做了一些不可思议的事情。 – JAL

+0

/bin/sh确实存在,它可以被所有人执行 –

+0

哪些sh结果是/ bin/sh –

回答

0

看来你的系统缺少“sh”shell来开始解释脚本。

我只是抬头安装炮弹Mac OSX和得到这个结果:

/bin/zsh 
/bin/ksh 
/bin/tcsh 
/bin/bash 
/bin/sh 

所以,当 “/ bin/sh的” 缺失,尝试 “/斌/庆典” 的例子。

更好:

  1. 检查 “/ bin/sh的” 存在
  2. 如果存在,是否它运行该命令的用户可以执行shell

,因为它可以可能shell二进制文件存在但不可执行。然后你必须让用户试用mvn的可执行文件。

希望帮助;)

+0

/bin/sh确实存在,并且它是每个人都可以执行的。 –

+0

然后我没有线索,对不起 –

8

我有同样的问题:EXEC()的任何可执行失败。终于想起我正在使用一个私人jre。那个jre是原始的副本,只是将bin/java设置为可执行文件。

我制作了lib/jspawnhelper可执行文件,它工作正常!

+1

这个救了我这么多!谢谢!我正在使用mac,并且通过了解这个mac守门人的这个可怕的rabbithole,但这只是一个可执行的问题。 –

+1

@ franco-catrin你是一个生活节省兄弟! – JourneyMan

0

如果您使用的是eclipse,这是由于java版本。将java指向你的操作系统java而不是eclipse java。这将得到解决

相关问题