jenkins编译报错:Cannot run program "mvn" (in directory "/var/lib/jenkins/workspace/mall"): error=2, No such file or directory

西夏一品堂 发布于 2016/06/02 14:10
阅读 7K+
收藏 0

jenkins版本:2.7

操作系统环境:centos6.7 x64

其他配置:

export JAVA_HOME=/usr/local/jdk1.8.0_92
export M2_HOME=/usr/local/apache-maven-3.3.3
export MAVEN_HOME=${M2_HOME}
export PATH=$PATH:$JAVA_HOME/bin:$M2_HOME/bin
但是,编译项目的时候,报错:

FATAL: command execution failed
java.io.IOException: Cannot run program "mvn" (in directory "/var/lib/jenkins/workspace/mall"): error=2, No such file or directory
	at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
	at hudson.Proc$LocalProc.<init>(Proc.java:240)
	at hudson.Proc$LocalProc.<init>(Proc.java:212)
	at hudson.Launcher$LocalLauncher.launch(Launcher.java:815)
	at hudson.Launcher$ProcStarter.start(Launcher.java:381)
	at hudson.Launcher$ProcStarter.join(Launcher.java:388)
	at hudson.tasks.Maven.perform(Maven.java:331)
	at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
	at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:779)
	at hudson.model.Build$BuildExecution.build(Build.java:205)
	at hudson.model.Build$BuildExecution.doRun(Build.java:162)
	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:534)
	at hudson.model.Run.execute(Run.java:1741)
	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
	at hudson.model.ResourceController.execute(ResourceController.java:98)
	at hudson.model.Executor.run(Executor.java:410)
Caused by: java.io.IOException: error=2, No such file or directory
	at java.lang.UNIXProcess.forkAndExec(Native Method)
	at java.lang.UNIXProcess.<init>(UNIXProcess.java:248)
	at java.lang.ProcessImpl.start(ProcessImpl.java:134)
	at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
	... 15 more



jenkins里面也没有maven路径的相关配置

加载中
1
jaren
jaren
需要在“构建“选项里面,选择invoke top-level Maven tagets  -> Maven Version ->选择你在系统配置里面配置的Maven名称
x
xray2100
有用
0
SethFeng
SethFeng
先手工在命令行下执行mvn看看。不行的话,可能是权限、或者,
/usr/local/apache-maven-3.3.3/bin 这个路径问题
0
西夏一品堂
西夏一品堂

引用来自“SethFeng”的评论

先手工在命令行下执行mvn看看。不行的话,可能是权限、或者,
/usr/local/apache-maven-3.3.3/bin 这个路径问题
bash-4.1$ mvn -v
Apache Maven 3.3.3 (7994120775791599e205a5524ec3e0dfe41d4a06; 2015-04-22T19:57:37+08:00)
Maven home: /usr/local/apache-maven-3.3.3
Java version: 1.8.0_92, vendor: Oracle Corporation
Java home: /usr/local/jdk1.8.0_92/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "2.6.32-431.el6.x86_64", arch: "amd64", family: "unix"
0
SethFeng
SethFeng

给jenkins用户执行mvn权限。配置Job的时候,maven版本选default

罗斌杰
罗斌杰
真理呀,帮助了我
西夏一品堂
西夏一品堂
有执行权限的。
0
g
gm100861
我也遇到了这个问题,你解决了吗?怎么搞的.
0
浮云888

我也遇到这个问题。

------

系统设置里面 Environment variables  设置了 MAVEN_HOME  M2_HOME

系统设置里面 Tool Locations 设置了 Maven 的路径

问题未解决

------

Global Tool Configuration 里面使用自动安装的Maven

问题也没解决


s
shouwnag
回复 @浮云888 : 谢谢,解决了
osc前美工
osc前美工
应该把default换成自己配置中定义的maven的name
浮云888
搞了一中午,偶然解决了。 构建的配置里面,“构建”一节,选了“invoke top-level Maven tagets”之后。Maven Version属性里,有个迷惑人的默认值"(Default)"。我改成了我在Global Tool Configuration里定义的值“Default”,就好了。真够迷惑的。
返回顶部
顶部