有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

IntelliJ中的java本地脚本找不到mvn(IOException/没有这样的目录)

我的maven build在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中正确定义。形态


共 (1) 个答案

  1. # 1 楼答案

    如果你使用优胜美地(像我一样),你必须这样设置环境变量

    1. 在~/Library/LaunchAgents/environment创建新文件。plist

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

      <?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>
      
    3. 保存并重新启动计算机。这是加载优胜美地环境变量的正确方法

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

    Setting environment variables in OS X?