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

Java Apache Ivy设置任务和ivysettings.xml文件,java,ant,build,ivy,Java,Ant,Build,Ivy,根据page,我需要在Ant构建中声明一个任务,帮助Ant定位ivysettings.xml文件的位置。在该设置文件中可以找到“我的所有存储库”的定义以及其他信息 让我困惑的是:根据该页面(上面提供的链接),以下属性可能用于任务: id 文件 url 主机 realm 用户名 passwd url的说明如下: 要使用的设置文件的url 这意味着ivysettings.xml文件实际上可以存储在不同的机器上,甚至可以存储在存储库本身中 但是最后一个for属性(host,realm,userna

根据page,我需要在Ant构建中声明一个
任务,帮助Ant定位
ivysettings.xml
文件的位置。在该设置文件中可以找到“我的所有存储库”的定义以及其他信息

让我困惑的是:根据该页面(上面提供的链接),以下属性可能用于
任务:

  • id
  • 文件
  • url
  • 主机
  • realm
  • 用户名
  • passwd
url
的说明如下:

要使用的设置文件的url

这意味着
ivysettings.xml
文件实际上可以存储在不同的机器上,甚至可以存储在存储库本身中

但是最后一个for属性(
host
realm
username
passwd
)的描述都是多样的:

http身份验证(主机|领域|用户名|密码)

对我来说,这些描述与
url
的描述相结合,表明
主机
领域
用户名
密码
属性是定位和检索
ivysettings.xml
文件的连接凭据;并且它们不是连接到远程存储库的连接凭据。

Ivy允许您在
ivysettings.xml
中定义多个存储库,包括多个
url解析器
,它们可能是位于具有不同访问凭据的不同服务器上的不同存储库,这进一步证明了这一点。看到
任务只允许您使用这些属性指定一组凭据,这似乎再次暗示这些属性仅用于查找和下拉
ivysettings.xml
文件,而不用于与1+repos通信

因此,我要问:

  • 这4个属性是用于连接到
    ivysettings.xml
    所在的
    url
    ,还是用于连接到
    ivysettings.xml
    中定义的远程存储库
  • 如果以上问题的答案是它们是在远程
    url
    定位
    ivysettings.xml
    的凭据,那么我应该将与我的实际repo所在的web服务器通信的凭据放在哪里(作为
    ivysettings.xml
    所在的服务器和my repo所在的服务器可能是两台不同的机器)
  • 我怀疑您可以将
    ivysettings.xml
    存储在远程
    url
    (远程服务器)上正确吗?如果是这样,我如何告诉Ivy使用
    登录凭据A查看
    服务器A
    以查找我的
    ivysettings.xml
    文件,而使用
    登录凭据B
    服务器B
    查找我的存储库

请注意,你们中的一些人可能会发现这个问题,并认为我这里的问题是重复的。我认为上面提到的问题只是“我应该将
ivysettings.xml
文件放在哪里?”我的问题有点类似,但其核心是理解
属性的意图,以及它们试图查找的内容:设置文件或repo在设置文件中定义。提前感谢。

从远程服务器检索设置文件时使用上的可选属性。在其中,您可以使用标记指定远程存储库的身份验证凭据

示例: