当前位置: 首页 > 知识库问答 >
问题:

无法运行程序“mvn”错误=2,没有这样的文件或目录

裘光启
2023-03-14

我正在我的Ubuntu 14.04 LTS上进行构建,但我得到了以下信息:

Started by user anonymous
Building in workspace /var/lib/jenkins/workspace/videovixx
 > /usr/bin/git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
 > /usr/bin/git config remote.origin.url https://bitbucket.org/mdennis10/videovixx.git #     timeout=10
Fetching upstream changes from https://bitbucket.org/mdennis10/videovixx.git
 > /usr/bin/git --version # timeout=10
using .gitcredentials to set credentials
 > /usr/bin/git config --local credential.helper store --    file=/tmp/git6236060328558794078.credentials # timeout=10
 > /usr/bin/git fetch --tags --progress https://bitbucket.org/mdennis10/videovixx.git   +refs/heads/*:refs/remotes/origin/*
 > /usr/bin/git config --local --remove-section credential # timeout=10
 > /usr/bin/git rev-parse refs/remotes/origin/master^{commit} # timeout=10
 > /usr/bin/git rev-parse refs/remotes/origin/origin/master^{commit} # timeout=10
Checking out Revision f5c53e95d33c1e15abd7519346c18ec6bc0c81d7      (refs/remotes/origin/master)
 > /usr/bin/git config core.sparsecheckout # timeout=10
 > /usr/bin/git checkout -f f5c53e95d33c1e15abd7519346c18ec6bc0c81d7
 > /usr/bin/git rev-list f5c53e95d33c1e15abd7519346c18ec6bc0c81d7 # timeout=10
[videovixx] $ mvn install package
FATAL: command execution failed
java.io.IOException: Cannot run program "mvn" (in directory    "/var/lib/jenkins/workspace/videovixx"): error=2, No such file or directory
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1047)
    at hudson.Proc$LocalProc.<init>(Proc.java:244)
    at hudson.Proc$LocalProc.<init>(Proc.java:216)
    at hudson.Launcher$LocalLauncher.launch(Launcher.java:802)
    at hudson.Launcher$ProcStarter.start(Launcher.java:380)
    at hudson.Launcher$ProcStarter.join(Launcher.java:387)
    at hudson.tasks.Maven.perform(Maven.java:328)
    at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
    at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:770)
    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:533)
    at hudson.model.Run.execute(Run.java:1745)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
    at hudson.model.ResourceController.execute(ResourceController.java:89)
    at hudson.model.Executor.run(Executor.java:240)
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:186)
    at java.lang.ProcessImpl.start(ProcessImpl.java:130)
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1028)
    ... 15 more
Build step 'Invoke top-level Maven targets' marked build as failure
Archiving artifacts
Recording test results
Finished: FAILURE

我假设这是由某个linux安全特性导致的,该特性阻止了在没有正确权限的情况下创建/var/lib/Jenkins/workspace/video vixx,而我可能没有正确的权限。这是问题吗,我该怎么解决?

共有3个答案

苏凯
2023-03-14

我也有同样的问题,我在Jenkins服务器上安装了maven,问题得到了解决。

sudo yum install maven
仲绍晖
2023-03-14

如果你只是在寻找最简单的解决方案,那么你应该去全局jenkins配置

http://localhost:32773/configureTools/

像这样配置Maven

然后你必须去你的项目。您构建的内部设置。选择您一分钟前创建的 maven。

尉迟彬
2023-03-14

这里有很多东西。

您要么没有在作业配置中选择Maven版本。或者你没有配置Jenkins安装Maven版本。或者您希望在从属服务器上使用本地安装的Maven,但它不是为< code>jenkins用户配置的。

由于我不知道您配置了什么(或没有配置)以及您期望使用什么,我不能直接回答,但我可以解释它是如何工作的。

  • 您必须在本地安装Maven
  • 您必须能够使用jenkins用户启动它
    1. 执行sudo jenkins,然后在您的Slave上执行mvn以验证jenkins用户可以运行mvn
    2. 如果失败,您需要正确安装/配置Maven
  • 您必须转到Jenkins全局工具配置,并使用自动安装程序(从Web)配置Maven版本。
  • 在作业配置中,对于Maven版本,您必须选择您刚刚配置的特定版本。
 类似资料:
  • 问题内容: 我在Ubuntu 14.04 LTS上进行构建,但得到以下信息: 我假设这是由某些Linux安全功能引起的,该功能阻止了/ var / lib / jenkins / workspace / videovixx的创建,而没有我可能没有的正确权限。这是问题吗,我该如何解决? 问题答案: 这里有很多事情。 您或者没有在Job配置中选择Maven版本。或者您没有配置Jenkins安装Mave

  • 我无法在ansible命令模块中执行kubectl(V1.16.3)命令。 例如,使用Ansible创建命名空间。 我以以下错误结束: 注意:但是我可以执行“Kubectl create-f...”手动…它在创造东西。 我的Ansible版本: 仅供参考,我也尝试了Ansible-2.4.2以及。但运气不好。 当kubectl版本为1.8和ansible版本为2.4.2时,我可以使用命令模块使用“

  • 当我尝试在CMD中执行此操作时 我收到这个错误: 当文件存储在 (get-pip.py) C:\Python27\工具\脚本

  • 编辑:我不确定我采取了哪些步骤来解决这个问题,并且不再看到这个错误消息,所以我不能测试下面的解决方案。请分别尝试,因为不同的答案似乎适用于不同的人。 iOS版本工作正常,但在Mac上运行Android Studio时,我会出现以下Gradle构建错误(转述): 我试过很多东西: 按照React本地开发设置:https://reactnative.dev/docs/environment-setup

  • 问题内容: 我正在使用Ubuntu 14.04。我有以下代码: 但我不断收到以下错误: python程序和图像都在同一位置。可能是什么问题? 问题答案: 您需要安装: