Pipeline 脚本调用 mvn 命令失败

来源:8-3 CICD实践(上)

SolidCocoi

2018-09-17

想请教下 Pipeline 脚本调用 mvn 命令失败 怎么解决呢?

主机系统:CenterOS 7.3 64位

主机上直接运行 mvn 命令

运行 mvn -v 打印的内容

Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-18T02:33:14+08:00)
Maven home: /lib/maven/apache-maven-3.5.4
Java version: 1.8.0_171, vendor: Oracle Corporation, runtime: /usr/lib/java/jdk1.8.0_171/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-514.21.1.el7.x86_64", arch: "amd64", family: "unix"

主机上关于 Maven 的配置

ect/profile 中

其他无关配置

export JAVA_HOME=/usr/lib/java/jdk1.8.0_171
export JRE_HOME=$JAVA_HOME/jre 
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib 
export PATH=$JAVA_HOME/bin:$PATH

export MAVEN_HOME=/lib/maven/apache-maven-3.5.4
export PATH=$MAVEN_HOME/bin:$PATH

Pipeline 调用 mvn 错误日志

[Pipeline] stage
[Pipeline] { (装载依赖)
[Pipeline] echo
install package['webtoolkit']
[Pipeline] sh
[**********] Running shell script
+ mvn install webtoolkit -pl -am -Dmaven.test.skip=true
/root/.jenkins/workspace/**********@tmp/durable-d531760a/script.sh: line 2: mvn: command not found
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // withEnv
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
ERROR: script returned exit code 127
Finished: FAILURE
写回答

1回答

SolidCocoi

提问者

2018-09-17

> Jenkins 通过shell脚本调用mvn 命令的时候,是从/usr/bin 文件夹中找命令的,这个时候需要做个软链接

执行下 ln -s {你的maven 安装 bin 目录+/mvn}  /usr/bin/mvn

就可以了

ln -s /lib/maven/apache-maven-3.5.4/bin/mvn /usr/bin/mvn
0
1
刘果国
手动点赞!
2018-09-17
共1条回复

Docker+Kubernetes(k8s)微服务容器化实践

从开发到编排,快速,完整,深入的掌握微服务

2608 学习 · 607 问题

查看课程