Jenkins无法在Jenkins Home之外找到maven setting.xml文件

nr9pn0ug  于 2023-10-17  发布在  Maven
关注(0)|答案(4)|浏览(144)

我在CentOS服务器上运行Jenkins,我试图在一个git项目上设置一个运行mvn clean install的作业。因为我想为我的整个服务器使用一个全局maven仓库,所以我设置我的项目,使用Jenkins home之外的路径中的设置文件来运行maven:

当运行构建时,Jenkins找不到settings.xml文件:

...
[workspace] $ /var/lib/jenkins/tools/hudson.tasks.Maven_MavenInstallation/Maven_3.0.4/bin/mvn -f firma-digital-service/pom.xml -s /home/dcalderon/.m2/repository/settings.xml -X clean package
Apache Maven 3.0.4 (r1232337; 2012-01-17 03:44:56-0500)
Maven home: /var/lib/jenkins/tools/hudson.tasks.Maven_MavenInstallation/Maven_3.0.4
Java version: 1.8.0_121, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.121-0.b13.el7_3.x86_64/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-123.4.2.el7.x86_64", arch: "amd64", family: "unix"
[INFO] Error stacktraces are turned on.
[ERROR] Error executing Maven.
java.io.FileNotFoundException: The specified user settings file does not exist: /home/dcalderon/.m2/repository/settings.xml
at org.apache.maven.cli.MavenCli.settings(MavenCli.java:681)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:193)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
Build step 'Invoke top-level Maven targets' marked build as failure
Finished: FAILURE

当运行完全相同的命令时,Jenkins通过命令行运行,一切正常,这表明文件确实存在于服务器中。我做错了什么?这是关于用户限制的问题吗?

ddrv8njm

ddrv8njm1#

作为扩展答案,当配置没有具体更改时,我们也可以说在Jenkins配置中使用maven的默认设置,如下所述:
设置文件:使用默认的maven设置全局设置文件:使用默认的maven全局设置

kmpatx3s

kmpatx3s2#

你可以使用这个插件-https://wiki.jenkins-ci.org/display/JENKINS/Config+File+Provider+Plugin来管理settings.xml。
只需使用此插件将相关文件提供给您的项目。
谢谢,莫尔

rjjhvcjd

rjjhvcjd3#

Jenkins以jenkins用户身份运行,因此无法查看位于**/home/dcalderon**文件夹中的文件

c7rzv4ha

c7rzv4ha4#

我使用脚本管道,并在我的情况下添加/更新了位于/var/lib/jenkins/.m2/文件夹中的settings.xml文件。

相关问题