2012-08-22 108 views
4

当运行顶级行家目标Maven的错误,同时运行我的硒项目詹金斯

test 

我收到以下错误:

FATAL: command execution failed 
java.io.IOException: Cannot run program "mvn" (in directory "/var/lib/jenkins /jobs/selenium/workspace"): java.io.IOException: error=2, No such file or directory 
at java.lang.ProcessBuilder.start(ProcessBuilder.java:475) 
at hudson.Proc$LocalProc.<init>(Proc.java:244) 
at hudson.Proc$LocalProc.<init>(Proc.java:216) 
at hudson.Launcher$LocalLauncher.launch(Launcher.java:709) 
at hudson.Launcher$ProcStarter.start(Launcher.java:338) 
at hudson.Launcher$ProcStarter.join(Launcher.java:345) 
at hudson.tasks.Maven.perform(Maven.java:263) 
at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:19) 
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:717) 
at hudson.model.Build$BuildExecution.build(Build.java:199) 
at hudson.model.Build$BuildExecution.doRun(Build.java:160) 
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:499) 
at hudson.model.Run.execute(Run.java:1502) 
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46) 
at hudson.model.ResourceController.execute(ResourceController.java:88) 
at hudson.model.Executor.run(Executor.java:236) 
Caused by: java.io.IOException: java.io.IOException: error=2, No such file or directory 
at java.lang.UNIXProcess.<init>(UNIXProcess.java:164) 
at java.lang.ProcessImpl.start(ProcessImpl.java:81) 
at java.lang.ProcessBuilder.start(ProcessBuilder.java:468) 
... 15 more 
Build step 'Invoke top-level Maven targets' marked build as failure 

这似乎是有关行家途径的问题,但是我在主机上设置了maven路径。 M2_HOME,M2和PATH都是正确的。我知道他们是正确的,因为我可以从命令行运行maven命令。当我尝试在jenkins中调用maven命令时,虽然出现错误。 于是我走进Jenkins->Manage Jenkins->Configure System,我点击了Maven的设备... 我检查过上

Install automatically 
Version 2.2.1 

我点击保存,并试图用同样的错误再次运行我的项目。当我做mvn -version时,我得到2.2.1,所以应该是正确的。 从配置系统页面我也曾尝试

Name default 
MAVEN_HOME /usr/local/apache-maven/apache-maven-2.2.1 

任何想法?

+0

在Jenkins运行的用户的login shell的启动脚本中是否定义了那些env变量?你重新启动了詹金斯吗? – khmarbaise

回答

3

我的问题的解决方案有两个部分。首先,我需要确保在配置系统页面上创建maven安装设置后,我在构建本身中指定了相同的配置。第二詹金斯似乎没有足够的特权,我正在运行它的红帽子。一旦我最终得到它指向正确的maven实例,我有很多无法创建文件/文件夹错误。这些许可错误可能是我在这台机器上遇到麻烦的真正原因。我没有解决这些许可错误,并会为他们创建一个新问题。

+0

感谢OrwellHindenberg。解决方案1为我工作。 –

+1

感谢OrwellHindenberg。解决方案1为我工作。我在(Jenkins - >配置)中添加了默认的maven安装,然后进入失败的Job配置并选择了我在(Jenkins - >配置)中配置的默认maven实例。 –