Jenkins上的ivysettings.xml错误中,默认缓存目录必须是绝对的



我很难让Ivy与我的Jenkins项目合作。我的ivysettings.xml文件的行:

<caches defaultCacheDir="C:/Users/me/.ivy2/cache"/>

适用于我的本地机器,但当我试图让我的Jenkins项目访问我上传本地项目的SVN存储库时就不行了。错误:

BUILD FAILED /data/builds/jenkins/workspace/build.xml:132: impossible to configure ivy:settings with given file: /data/builds/jenkins/workspace/ivysettings.xml : java.text.ParseException: failed to load settings from file:/data/builds/jenkins/workspace/ivysettings.xml: defaultCacheDir must be absolute: C:/Users/me/.ivy2/cache

相反,我试图补救这种情况使用这个答案在我的jenkins工作区创建一个ivy缓存目录,放置

<properties environment="env" /> <caches defaultCacheDir="${env.WORKSPACE}/.ivy2/cache" />

进入我的ivysettings.xml文件,但后来我在Jenkins上遇到的问题开始发生在我的本地机器上,也给了我同样的消息:

BUILD FAILED... ...defaultCacheDir must be absolute: ${env.WORKSPACE}/.ivy2/cache

最简单的方法是根据ivysettings文件的位置配置缓存的位置,如下所示:

<ivysettings>
    <settings defaultResolver="central"/>
    <caches defaultCacheDir="${ivy.settings.dir}/cache"/>
    <resolvers>
        <ibiblio name="central" m2compatible="true"/>
    </resolvers>
</ivysettings>

最简单的方法是在PC 上定义env变量WORKSPACE

setenv WORKSPACE=c:/users/me

更干净的方法是在PC和jenkins任务中定义类似IVY_CACHE_DIR的env变量,并在ivysettings.xml 中使用它

相关内容

  • 没有找到相关文章

最新更新