IntelliJ中的SonarQube本地脚本找不到mvn(IOException / No such directory)

我的maven构建在IntelliJ IDEA中运行良好。 这不是问题。 该问题与SonarQube社区插件有关。

ERROR 17:08:38.358 > java.io.IOException: Cannot run program "mvn" (in directory "/Users/chrismanning/Projects/Registry/registry/idea-files"): error=2, No such file or directory 

本地分析脚本:

 mvn sonar:sonar -DskipTests=true -Dsonar.analysis.mode=issues -Dsonar.scm.enabled=false -Dsonar.scm-stats.enabled=false -Dissueassignplugin.enabled=false -Dsonar.preview.excludePlugins=emailnotifications,issueassign -Dsonar.report.export.path=sonar-report.json 

我绝对安装了maven并且在我的路上。 (它在/ usr / local / bin中符号链接)

 chrismanning@Chriss-MacBook-Pro:~/Projects/Registry/registry/idea-files$ mvn -version Apache Maven 3.2.5 (12a6b3acb947671f09b81f49094c53f426d8cea1; 2014-12-14T12:29:23-05:00) Maven home: /Users/chrismanning/apache-maven-3.2.5 Java version: 1.8.0_40, vendor: Oracle Corporation Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home/jre Default locale: en_US, platform encoding: UTF-8 OS name: "mac os x", version: "10.10.3", arch: "x86_64", family: "mac" 

M2_HOME和PATH在/etc/launchd.conf中得到了明确的定义

如果您正在使用Yosemite(就像我一样),您必须以这种方式设置环境变量

  1. 在〜/ Library / LaunchAgents / environment.plist中创建新文件

  2. 添加此代码块并进行修改以适当设置环境变量

         Label my.startup ProgramArguments  sh -c  launchctl setenv JAVA_HOME /Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home launchctl setenv M2_HOME /Users/chrismanning/apache-maven-3.2.5   RunAtLoad    
  3. 保存并重新启动计算机。 这是加载Yosemite环境变量的正确方法

如果您使用的是旧版Mac OS X,请参阅此答案

在OS X中设置环境变量?