Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven jenkins slave使用了哪些settings.xml?_Maven_Hudson_Jenkins_Slave - Fatal编程技术网

Maven jenkins slave使用了哪些settings.xml?

Maven jenkins slave使用了哪些settings.xml?,maven,hudson,jenkins,slave,Maven,Hudson,Jenkins,Slave,我有一个Jenkins主机(在一个小Linux机器上运行)和一个Jenkins从机(在“正确”的XP机器上运行) 我已经为所有Jib配置了这两个,以便在Windows XP从机上运行 不幸的是,每次在该从机上运行生成时,生成都会由于以下错误而失败: ERROR: Ignore Problem expanding maven opts macros org.jenkinsci.plugins.tokenmacro.TokenMacro Found mavenVersion 3.0.3 from f

我有一个Jenkins主机(在一个小Linux机器上运行)和一个Jenkins从机(在“正确”的XP机器上运行)

我已经为所有Jib配置了这两个,以便在Windows XP从机上运行

不幸的是,每次在该从机上运行生成时,生成都会由于以下错误而失败:

ERROR: Ignore Problem expanding maven opts macros org.jenkinsci.plugins.tokenmacro.TokenMacro
Found mavenVersion 3.0.3 from file jar:file:/E:/java-ext/apache-maven-3.0.3/lib/maven-core-3.0.3.jar!/META-INF/maven/org.apache.maven/maven-core/pom.properties
Parsing POMs
ERROR: Echec à la lecture des POMs
hudson.util.IOException2: remote file operation failed: C:\hudson\workspace\Autocat at hudson.remoting.Channel@ee5bc4:ndx-PC-winXP
    at hudson.FilePath.act(FilePath.java:752)
    at hudson.FilePath.act(FilePath.java:738)
    at hudson.maven.MavenModuleSetBuild$RunnerImpl.parsePoms(MavenModuleSetBuild.java:817)
    at hudson.maven.MavenModuleSetBuild$RunnerImpl.doRun(MavenModuleSetBuild.java:617)
    at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:429)
    at hudson.model.Run.run(Run.java:1374)
    at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:467)
    at hudson.model.ResourceController.execute(ResourceController.java:88)
    at hudson.model.Executor.run(Executor.java:145)
Caused by: hudson.remoting.ProxyException: hudson.maven.MavenModuleSetBuild$MavenExecutionException: org.apache.maven.project.ProjectBuildingException: Some problems were encountered while processing the POMs:
[FATAL] Non-resolvable parent POM: Failure to find fr.perigee.java:java-parent:pom:0.0.6 in http://tinkerpop.com/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of tinkerpop has elapsed or updates are forced and 'parent.relativePath' points at wrong local POM @ line 3, column 10

我知道这个错误是因为包含这些工件的存储库的定义不正确,因为使用的存储库是在settings.xml中定义的。因此,我的问题很简单:如何定义Jenkins slave使用的settings.xml文件?

Maven使用全局设置和用户设置文件。如果用户设置文件存在,它将覆盖全局设置文件

全局文件位于
%M2\u HOME%\conf\
中,而用户文件位于
%HOME%\.M2\
中。这里的
%HOME%
表示运行Jenkins slave的任何用户的主目录

因此,假设您的情况可能,最简单的解决方案是将正确的settings.xml文件复制到Jenkins从机上的
%HOME%\.m2\
目录

或者,您可以使用
--settings
选项在mvn命令行上指定一个自定义settings.xml文件,这样您就可以将该文件放在一个已知的位置(例如
C:\
),然后告诉Jenkins将该设置传递给Maven,类似于
--settings C:\settings.xml


另外,创建一个新的Windows用户来运行Jenkins slave通常很有用,这样您就可以很容易地知道它将在哪里搜索配置文件。

像往常一样,解决方案比我想象的要简单

Jenkins slave配置为由系统用户运行。
因此,为了让它使用my settings.xml,我所要做的就是更改它的关联用户,问题就消失了

对我来说,是使用-Duser.home变量实现的

我确实让它工作了!但是, 将它输入MAVEN_OPTS,在configure jenkins屏幕中,我将它作为JVM级别的变量输入到我的web服务器

对我来说,我在WinTell上使用glassfish,而不是tomcat。玻璃鱼一开始是一种鱼 windows服务。基本输入:

JVM变量名:user.home JVM值:/data/maven-2.2/jenkins

然后,在这个目录/data/maven-2.2/jenkins中,确保您有 正确输入代理信息的有效settings.xml。这样做可以让我 为my jenkins services builds v隔离单独的settings.xml。登录 互动的


Eric

谢谢,我将从属服务设置为以本地用户的身份运行,C:/users/myuser/.m2/下的settings.xml最终被选中。此外:对于默认系统用户,不使用其他设置,将使用maven安装文件夹下的settings.xml。