【问题标题】:Maven not found in Jenkins在 Jenkins 中找不到 Maven
【发布时间】:2018-01-28 08:14:26
【问题描述】:

我在 Jenkins 中运行我的 Maven/Spring 项目(只是第一次测试它)使用 shell 脚本选项:

mvn spring-boot:run

我收到构建错误: /Users/Shared/Jenkins/tmp/jenkins8087926087546049217.sh: line 2: mvn: command not found

我该如何解决这个问题?它是一个 Spring-boot 应用程序。当我通过命令行运行mvn spring-boot:run 时,它工作正常。

【问题讨论】:

  • 在 Terminal.app 会话中which mvn 的输出是什么?

标签: java spring maven spring-mvc jenkins


【解决方案1】:

试试这个,导航到 Manage Jenkins 并点击 Global Tool Configuration,在 Maven 部分点击 'Add Maven' 按钮并提供 maven 安装路径 在 MAVEN_HOME 并保存配置。

【讨论】:

【解决方案2】:

确保你的 maven 配置是真的。 您可以使用 cmd 并运行:

mvn -version

如果没有错误,请尝试

mvn spring-boot:run

【讨论】:

    【解决方案3】:

    我在 Windows 上遇到了类似的问题。 Maven 从控制台运行良好,但在 Jenkins 作为 cmd 命令调用时失败。

    原因是 Jenkins 是作为“系统用户”服务安装和运行的。这意味着该进程无法看到您的用户(用户级别)的 ENV 变量和 PATH。在系统级别的 PATH 和 ENV 变量中设置 maven 就可以了。

    P.S.:@Charo Maven 配置在较新的 Jenkins 版本中从配置系统移动到全局工具配置

    【讨论】:

    【解决方案4】:

    我遇到了类似的问题,我将名称设置为 maven-3.3.9

    并放置了 MAVEN_HOME LIKE : E:\Softwares\apache-maven-3.3.9\bin

    【讨论】:

      【解决方案5】:

      “管理 Jenkins”->“全局工具配置”

      如果还是不行,在“Execute shell”中添加以下内容

      export MAVEN_HOME=/opt/maven
      export PATH=$PATH:$MAVEN_HOME/bin
      mvn --version
      mvn clean package
      

      【讨论】:

        【解决方案6】:
        export MAVEN_HOME=/opt/maven
        export PATH=$PATH:$MAVEN_HOME/bin
        mvn --version
        mvn clean package
        

        然后mvn安装

        【讨论】:

          【解决方案7】:

          我在 ubuntu 16.04 机器上遇到过这个问题,实际原因是 maven bin 目录路径未设置 $PATH 变量。

          如何检查?

          1. 您可以在 Jenkins GUI 的执行 shell 提示中附加以下行。

            
            echo $M2_HOME
            echo $PATH
            mvn clean install
            

            当您再次构建时,您将看到 M2_HOME 或 maven bin 路径未在 $PATH 变量中设置。

          2. 或者你可以从root登录Jenkins用户并运行以下命令。

            
            su - Jenkins
            echo $PATH
            

          解决方案::

          
           1. logged in to root user.
           2. then this command cd /etc/profile.d/
           3. vim maven.sh then add below lines
              export M2_HOME=/usr/local/maven
              export PATH=$PATH:$M2_HOME/bin
           4. run this command chmod +x maven.sh
           5. then login to jenkins user (su - jenkins) then see again maven path is set or not via (echo $PATH) command.
           6. If the path is set then restart Jenkins service 
              service jenkins restart
              and re-login in Jenkin GUI (http://localhost:8080/)
           7. Now rebuild your job then you will get success :-)
          

          【讨论】:

            【解决方案8】:

            我也遇到了问题并解决了。当您通过“New Item”按钮创建新项目时,我认为您可能使用的是“FreeStyle Project”而不是“Maven Project”。

            在 FreeStyle Project 中,Jenkins 可能无法读取 Linux 服务器中的环境变量和“全局工具配置”中的 Maven 安装,所以我在“配置系统”中重复配置了环境变量。然后就成功了。

            【讨论】:

              猜你喜欢
              • 2019-06-24
              • 2015-12-12
              • 2016-12-16
              • 1970-01-01
              • 2017-06-13
              • 1970-01-01
              • 1970-01-01
              • 2017-10-08
              • 2020-09-10
              相关资源
              最近更新 更多