如何配置Jenkins使用Maven进行构建?

时间:2019-01-31 00:38:59

标签: java maven jenkins

我如何告诉Jenkins使用系统安装的Maven?

enter image description here

enter image description here

为什么要问MAVEN_HOME而不是M2_HOME?为什么不显示当前系统Maven?构建运行时,它会显示BS错误:

  

解析POM   错误:无法解析POM   org.apache.maven.project.ProjectBuildingException:处理POM时遇到一些问题:   [FATAL]不可解析的父POM:无法在http://repo.maven.apache.org/maven2中找到org.springframework.boot:spring-boot-starter-parent:pom:[1.5.13,2.0)缓存在本地存储库中,解析将在中心的更新间隔过去或强制进行更新并且在第14行第10列第10行上没有本地POM的情况下强制执行“ parent.relativePath”点之前,无法重新尝试

当我以jenkins用户身份登录计算机并在命令行上运行mvn compile时,此方法有效。

-bash-4.2$ env | grep -i maven
PATH=/usr/local/src/apache-maven-3.6.0/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin
M2_HOME=/usr/local/src/apache-maven-3.6.0

-bash-4.2$ mvn compile
...
[INFO] BUILD SUCCESS

这是作业配置页面中的屏幕截图。 /job/Weekly%20Report/configure

enter image description here

1 个答案:

答案 0 :(得分:0)

首先,您需要了解Jenkins工具和jenkins用户是两个不同的概念。

默认情况下,Jenkins工具不了解您当前的系统工具(例如Maven)。这就是为什么如果您需要使用系统Maven,则需要在 Manage Jenkins-> Global Tool Configuration 页面中添加Maven配置,然后取消选中Install automatically复选框并输入Name和{ {1}}: enter image description here 这将使Jenkins知道您的系统Maven工具的路径(正如Evgeni Enchev在评论中已经说过的那样,之后Jenkins将会知道MAVEN_HOME在哪里)。

然后,在您的作业中,您还需要选择正确的Maven版本(使用先前配置的名称): enter image description here

然后您将能够运行您的系统Maven。

注意:有关在Jenkins管道中使用Maven的信息,请参见Pipeline Maven Plugin