2015-05-19 19 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。這將得到解決

相關問題