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

如何在 Jenkins 上成功构建我的 maven 应用程序?

白学
2023-03-14

我是詹金斯的新手,运气不太好。我正在尝试用maven构建我的spring boot应用程序。它成功地构建,直到我在调用顶级Maven目标中添加命令“clean compile package”。

构建失败。

Started by user unknown or anonymous
Running as SYSTEM
Building in workspace /var/jenkins_home/jobs/sample/workspace
The recommended git tool is: NONE
No credentials specified
 > git rev-parse --resolve-git-dir /var/jenkins_home/jobs/sample/workspace/.git # timeout=10
Fetching changes from the remote Git repository
 > git config remote.origin.url https://github.com/rshncp/stackApp.git # timeout=10
Fetching upstream changes from https://github.com/rshncp/stackApp.git
 > git --version # timeout=10
 > git --version # 'git version 2.30.2'
 > git fetch --tags --force --progress -- https://github.com/rshncp/stackApp.git +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git rev-parse refs/remotes/origin/main^{commit} # timeout=10
Checking out Revision 497d77eeef33f9cc19c5390d21cf49e90ac24e05 (refs/remotes/origin/main)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f 497d77eeef33f9cc19c5390d21cf49e90ac24e05 # timeout=10
Commit message: "first commit"
 > git rev-list --no-walk 497d77eeef33f9cc19c5390d21cf49e90ac24e05 # timeout=10
[workspace] $ mvn clean compile package
FATAL: command execution failed
java.io.IOException: error=2, No such file or directory
    at java.base/java.lang.ProcessImpl.forkAndExec(Native Method)
    at java.base/java.lang.ProcessImpl.<init>(ProcessImpl.java:340)
    at java.base/java.lang.ProcessImpl.start(ProcessImpl.java:271)
    at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1107)
Caused: java.io.IOException: Cannot run program "mvn" (in directory "/var/jenkins_home/jobs/sample/workspace"): error=2, No such file or directory
    at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1128)
    at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1071)
    at hudson.Proc$LocalProc.<init>(Proc.java:252)
    at hudson.Proc$LocalProc.<init>(Proc.java:221)
    at hudson.Launcher$LocalLauncher.launch(Launcher.java:995)
    at hudson.Launcher$ProcStarter.start(Launcher.java:507)
    at hudson.Launcher$ProcStarter.join(Launcher.java:518)
    at hudson.tasks.Maven.perform(Maven.java:367)
    at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
    at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:806)
    at hudson.model.Build$BuildExecution.build(Build.java:198)
    at hudson.model.Build$BuildExecution.doRun(Build.java:163)
    at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:514)
    at hudson.model.Run.execute(Run.java:1888)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
    at hudson.model.ResourceController.execute(ResourceController.java:99)
    at hudson.model.Executor.run(Executor.java:431)
Build step 'Invoke top-level Maven targets' marked build as failure
Finished: FAILURE

我该如何解决这个问题?

共有1个答案

华欣荣
2023-03-14
  1. 下载Maven作为插件。您必须转到Jenkins全局工具配置,并使用自动安装程序(从web)配置Maven版本
  2. 在全局配置中设置,maven版本。看这个案例的第二个答案:不能运行程序“mvn”error=2,没有这样的文件或目录
 类似资料:
  • 问题内容: 我有三个管道项目,项目a,项目b和项目c。project-c需要一个参数。成功完成project-a或project- b时,我想触发带有参数的project-c的构建。 我可以在管道中使用以下代码在project-a和project-b中执行此操作: 但这需要两名执行者。我希望project-a或project-b在使用参数运行project-c之前完全完成。 问题答案: 您的管道很

  • 问题内容: 我是使用USB SSH插件在Linux服务器上运行命令的人,我使用SSH启动了一个脚本,该脚本花费了超过1个小时的时间才能运行,我不想等待那么多时间,因此我将30秒钟的时间设置为Exec超时。但是它显示错误ERROR:发布时发生异常,异常消息[Exec超时或在30,000 ms后被中断],并且不稳定。我不想使我的构建不稳定,因为我使用了詹金斯文本查找器来稳定该构建。在那个詹金斯文本查找

  • 我有一个制作android应用程序的学校项目。但当我运行应用程序时,它会在logcat中不断显示类似的内容。我是android studio的新手。请帮帮我。

  • 问题内容: 通常,为了获得最新成功构建的工件,我对以下URL进行了处理: http://jenkins.com/job/job_name/lastSuccessfulBuild/artifact/artifact1/jenkins.txt 有没有办法,我可以继续下去并在下面得到一个像? 问题答案: 是的,有一种方法,它非常简单:

  • 问题内容: 我的问题可以通过在Netbeans 8中创建一个新项目来重现: 新项目>> Maven >> JavaFX应用程序 然后添加org.springframework spring-context依赖项。 构建时间从几秒钟增加到超过半分钟,这大部分是由于运行javafxpackager引起的。 我可以使用缓慢发布的版本,但是如何加快开发版本? 这是我的pom.xml: 谢谢!丹尼尔 问题答

  • 我得到了一个分配给我的小项目,有一个特定的用例和一个非常短的时间窗口。我必须在Google Cloud中的Windows 2019服务器虚拟机实例上运行Jenkins,从GitHub克隆一个spring boot/Maven应用程序,构建、测试并运行该应用程序。这是我第一次与Jenkins和spring boot/Maven合作,所以我有点困于如何进步。 我的repo中有一个Jenkinsfile