SonarQube Local Script в IntelliJ не может найти mvn (IOException/No такой каталог)
Моя сборка 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
Локальный анализ script:
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 )
[email protected]:~/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
Ответы
Ответ 1
Если вы используете Yosemite (как и я), вы должны установить переменные среды таким образом
-
Создайте новый файл в ~/Library/LaunchAgents/environment.plist
-
Добавьте этот кодовый блок и измените его, чтобы правильно настроить переменные среды
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>my.startup</string>
<key>ProgramArguments</key>
<array>
<string>sh</string>
<string>-c</string>
<string>
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
</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
-
Сохраните и перезагрузите компьютер. Это правильный способ загрузки переменных окружающей среды Йосемити.
Если вы используете более старую версию Mac OS X, см. этот ответ
Установка переменных среды в OS X?