我有三个Jenkins Maven作业:一个构建和安装依赖项(JAR),两个使用这些依赖项来绑定可部署的WAR文件。
我已经将这三个作业配置为使用特定的settings.xml文件,虽然还不完全理解Settings file和Global Settings file之间的区别(即使在阅读了?之后也不清楚),但在Build下,我将两个字段设置为我希望使用的文件路径,以防万一:

/opt/maven/conf/settings.xml指定:
<localRepository>/var/lib/maven/repo</localRepository>但是,依赖项被下载到不同的位置:/var/lib/jenkins/maven-repositories/1作为/var/lib/jenkins是JENKINS_HOME。
控制台输出记录如下:
执行Maven:-B -f /var/lib/code/src/po.xml -s /opt/maven/conf/setings.xml -gs /opt/maven/conf/setings.xml干净安装-P depBuild
这是令人困惑的,因为maven.repo.local与-s和-gs下面列出的文件应该是不同的。
为什么它不在我告诉它使用的settings.xml中指定的本地回购中下载和安装依赖项?
以下是整个settings.xml:
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<localRepository>/var/lib/maven/repo</localRepository>
<servers>
<server>
<id>build.tomcat.all</id>
<username>buildman</username>
<password>mypass</password>
</server>
</servers>
<pluginGroups></pluginGroups>
<proxies></proxies>
<mirrors></mirrors>
<profiles></profiles>
</settings>发布于 2018-01-11 17:57:25
尝试使用配置文件提供程序插件配置它。安装此插件后,您可以在Managed>托管文件>中创建一个配置文件,添加一个新的Config > Maven settings.xml。
它还从模板开始,这样您就可以修改所需的内容。我只是在注释的解释之后添加了<localRepository>标记。
然后,在Maven作业中,选择"provided settings.xml“并选择您刚刚创建的配置文件。
确保您在MAVEN_OPTS中没有任何覆盖选项,并且没有选中“使用私有Maven存储库”。

PS: --看起来你不需要用"Global settings.xml“来做这件事--你可以把它保留为”使用默认值“。我有限的理解是,全局设置影响到maven系统的所有用户,而非全局设置只影响运行maven的用户。我不认为这对大多数项目都很重要,但是如果您有一个特殊的项目,在不同的用户下执行一些shell,这可能是很重要的。(我只是猜测。)
https://stackoverflow.com/questions/43127125
复制相似问题