我使用aether-ant来解析pom.xml文件中的依赖项。在我的jenkins master上运行脚本时,工件的路径如下所示:
stomp pl: C:\m2\be\mips\stomp-windows\1.0-SNAPSHOT\stomp-windows-1.0-SNAPSHOT.pl
但是,在Windows Slave上运行它时,它看起来像:
stomp pl: C:\Windows\system32\config\systemprofile\.m2\repository\be\mips\stomp-windows\1.0-SNAPSHOT\stomp-windows-1.0-SNAPSHOT.pl
在jenkins master和jenkins windows slave上,拾取maven settings.xml文件并将所有工件下载到C:\ m2 ...但由于某种原因,在Windows slave上,路径没有指向C:\ m2 ...
路径C:\ Windows \ system32 \ config \ systemprofile甚至不存在。
这是我的蚂蚁构建脚本:
<!-- Read in the pom file. -->
<artifact:pom if:true="${windows}" id="pomId" file="pom-windows.xml" />
<artifact:pom if:true="${linux}" id="pomId" file="pom-linux.xml" />
<!-- Add -->
<artifact:remoterepos id="all">
<artifact:remoterepo refid="central"/>
<!-- Define our remote nexus repo. -->
<!-- Updates always forces aether to look for a new remote version. -->
<artifact:remoterepo id="nexusRepo"
url="${env.nexusRepoUrl}/${nexusSnapshotsRepoName}"
updates="always">
<snapshots enabled="true" />
</artifact:remoterepo>
</artifact:remoterepos>
<!-- Resolve the dependencies from the pom file. -->
<artifact:resolve>
<artifact:dependencies pomRef="pomId"/>
<artifact:remoterepos refid="all"/>
<!--
For some reason, suddenly, on the Windows Slave,
the nexus.dep properties point to an unexisting folder....
-->
<artifact:properties prefix="nexus.dep."/>
</artifact:resolve>
github上的以太蚂蚁项目可以在https://github.com/eclipse/aether-ant
找到我已经用Google搜索并发现一些条目说某些Windows注册表项可能指向错误的目录...我不知道这是否与此问题有关。