编程语言
首页 > 编程语言> > java-Apache Ivy设置任务和ivysettings.xml文件

java-Apache Ivy设置任务和ivysettings.xml文件

作者:互联网

根据this页,我需要声明一个< ivy:settings> Ant内部的任务,可帮助Ant定位ivysettings.xml文件的位置.在此设置文件中,可以找到我所有存储库的定义以及其他信息.

令我感到困惑的是:根据该页面(上面提供的链接),对于< ivy:settings>任务:

> ID
>文件
>网址
>主机
>领域
>用户名
>密码

网址的描述是:

url of the settings file to use

这意味着ivysettings.xml文件实际上可以存储在其他计算机上,甚至可以存储在存储库本身中.

但是,最后一个属性(主机,领域,用户名,密码)的描述多种多样:

http authentication (host|realm|username|passwd)

对我来说,这些描述与url的描述相结合,表明主机,领域,用户名和passwd属性是用于查找和获取ivysettings.xml文件的连接凭据.并且它们不是用于连接到远程存储库的连接凭据.

Ivy允许您在ivysettings.xml内定义多个存储库,包括多个URL解析器,这些事实可能是位于不同服务器上具有不同访问凭据的不同存储库,这一事实进一步证明了这一点.看到< ivy:settings> task仅允许您使用这些属性指定一组凭据,这似乎又暗示这些属性仅用于查找和下拉ivysettings.xml文件,而不用于与1个回购进行通信.

所以,我问:

>这4个属性是用于连接到ivysettings.xml所在的URL,还是用于连接到ivysettings.xml内定义的远程存储库?
>如果以上问题的答案是它们是用于在远程URL上定位ivysettings.xml的凭据,那么我应在何处放置凭据以与实际回购协议所在的Web服务器(作为ivysettings.xml所在的服务器)进行通信而我的仓库所在的服务器可能是两台不同的计算机)?
>我怀疑您可以将ivysettings.xml存储在远程URL(远程服务器)上吗?如果是这样,我如何告诉Ivy使用登录凭证A查看服务器A,以查找我的ivysettings.xml文件,但是使用登录凭证B在服务器B上查找我的存储库?

请注意,有些人可能还会发现this问题,并认为我的问题是该问题的重复.我认为上面提到的问题只是“我将ivysettings.xml文件放在哪里?”的问题.我的问题有点类似,但从本质上讲,它实际上是关于了解< ivy:settings>的意图.属性以及它们要查找的内容:设置文件或设置文件中定义的存储库.提前致谢.

解决方法:

从远程服务器检索设置文件时,将使用ivy settings task上的可选属性.在该settings file中,您可以使用credentials标记为远程存储库指定身份验证凭据.

例子:

> http authentication between using ant/ivy retrieving dependency from nexus?
> Where do I put my credentials when using Ivy and a private company repository?
> Publish SNAPSHOT artifacts to Maven using IVY – what’s the magic?

标签:build,ivy,java,ant
来源: https://codeday.me/bug/20191031/1979127.html