在詹金斯中运行我的硒项目时出现 Maven 错误

Posted

技术标签:

【中文标题】在詹金斯中运行我的硒项目时出现 Maven 错误【英文标题】:Maven Error while running my selenium project in jenkins 【发布时间】:2012-08-18 07:27:10 【问题描述】:

运行***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 路径的问题,但我已经在我的主机上设置了 maven 路径。 M2_HOME、M2 和 PATH 都是正确的。我知道它们是正确的,因为我可以从命令行运行 maven 命令。当我尝试在 jenkins 中调用 maven 命令时,虽然我得到了错误。 所以我进入Jenkins-&gt;Manage Jenkins-&gt;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

有什么想法吗?

【问题讨论】:

这些环境变量是否在登录 shell 的启动脚本中为运行 Jenkins 的用户定义?你重启 Jenkins 了吗? 【参考方案1】:

我的问题的解决方案分为两部分。首先,我需要确保在“配置系统”页面上创建 Maven 安装设置后,我在构建本身中指定了相同的配置。 Second Jenkins 似乎对我正在运行它的 redhat 盒子没有足够的权限。一旦我最终将它指向正确的 Maven 实例,我就会遇到很多无法创建文件/文件夹的错误。这些权限错误可能是我在这台机器上使用 maven 遇到这么多麻烦的真正原因。我还没有解决这些权限错误,将为他们创建一个新问题。

【讨论】:

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

以上是关于在詹金斯中运行我的硒项目时出现 Maven 错误的主要内容,如果未能解决你的问题,请参考以下文章

詹金斯构建错误 Maven Angular2

MyEclipse中Maven项目运行maven install命令时出现错误怎么办?

使用maven打包时出现Process terminated错误

使用maven打包时出现Process terminated错误

使用maven打包时出现Process terminated错误

在 Django 中为 Selenium 测试加载夹具时出现完整性错误