我正在尝试运行一个xcode项目,该项目具有执行mvn install
的简单构建阶段脚本。当我尝试构建时,收到错误mvn command not found
。但是,如果我在终端mvn上运行mvn -v
。同样,我使用的其他IDE(例如Android Studio和Eclipse)已经开始使用我的maven安装。
这让我相信可能构建阶段脚本没有作为我的用户执行。但是,我找不到任何关于构建阶段脚本将使用哪个用户或者用户是否可配置的参考。
为什么Xcode无法接收到我用户路径上的mvn
?
更新:
当我whoami
时,我发现脚本作为我的用户在xcode中运行,这让我更加困惑。
另外,由于我和我的建议,我能够发现使用完全合格的路径会起作用。我不确定为什么会这样,因为
答案 0 :(得分:1)
提供mvn安装的完整路径(/ localpath / bin / mvn)可能会解决问题,但可能会有一些限制。
您可能不想为mvn(可能有本地路径)提供完整路径路径,并将项目文件签入到repo中。签出项目的所有用户都必须编辑项目文件以将mvn指向其本地安装。
如果我们没有指定完整路径,Xcode显然会从/ usr / bin目录中选择mvn。因此,如果我们可以提供从本地安装到/ usr / bin / mvn的软链接,Xcode将选择mvn,即使没有指定mvn的完整路径。
命令用于建立软链接:
sudo ln -sf /Users/chandu/apache-maven-3.3.9/bin/mvn /usr/bin/mvn
使用以下命令验证是否已建立链接:
chandras-MacBook-Pro:~ chandu$ ls -al /usr/bin/mvn
lrwxr-xr-x 1 root wheel 40 May 18 15:14 /usr/bin/mvn -> /Users/chandu/apache-maven-3.3.9/bin/mvn
Apple已禁用OSX EL Capitan上的软链接。要在OSX EL Capitan上进行软链接,请以恢复模式登录并运行csrutil disable
,然后以正常模式重新登录并尝试建立软链接。还要确保通过登录恢复模式并运行csrutil enable
您也可以尝试链接到/ usr / local / bin / mvn以避免OSX EL Capitan中的上述步骤.Xcode似乎也从/ usr / local / bin路径中获取二进制文件。