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

时间:2012-09-16 16:34:45

标签: java ant build ivy

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

令我困惑的是:根据该页面(上面提供的链接),<ivy:settings>任务可以使用以下属性:

  • id
  • file
  • url
  • host
  • realm
  • username
  • passwd

url的说明是:

  

要使用的设置文件的网址

暗示ivysettings.xml文件实际上可以存储在不同的计算机上,甚至可能存储在存储库本身的中?!

但是,最后一个属性(hostrealmusernamepasswd)的描述是各种各样的:

  

http身份验证(host | realm | username | passwd)

对我而言,这些说明与url的说明相结合,表明hostrealmusernamepasswd属性用于查找和检索ivysettings.xml文件的连接凭据;并且它们连接到远程存储库的连接凭据。

事实证明,Ivy允许您在ivysettings.xml内定义多个存储库,包括多个url-resolvers,这可能是位于具有不同访问凭据的不同服务器上的不同存储库。看到<ivy:settings>任务只允许您指定一组具有这些属性的凭据,同样似乎暗示这些属性仅用于查找和下拉ivysettings.xml文件,而不是用于与1+回购。

所以,我问:

  • 这4个属性是否用于连接url所在的ivysettings.xml,或者它们是否用于连接到ivysettings.xml中定义的远程存储库?
  • 如果上述问题的答案是他们是在远程ivysettings.xml找到url的凭据,那么我在哪里放置凭据以与我的实际回购所在的Web服务器进行通信(作为ivysettings.xml所在的服务器和我的repo所在的服务器可能是两台不同的机器?)
  • 我怀疑您可以将ivysettings.xml存储在远程url(远程服务器)上吗?如果是这样,我如何告诉Ivy查看Server A Loging Credentials A来查找我的ivysettings.xml文件,但是要Server B Login Credentials B找到我的存储库?

请注意,你们中的一些人也可能会发现this的问题,并认为我的问题与此重复。我认为上面引用的问题只是“我在哪里放ivysettings.xml文件?”的问题。我的问题是类似类似,但是,它的核心是它真正理解<ivy:settings>属性的意图,以及它们试图找到的内容:设置文件,或者在设置文件中定义的repo(s)。提前谢谢。

1 个答案:

答案 0 :(得分:4)