根据this页面,我需要在我的Ant构建中声明一个<ivy:settings>
任务,以帮助Ant定位ivysettings.xml
文件的位置。在此设置文件中,可以找到我所有存储库的定义以及其他信息。
令我感到困惑的是:根据该页面(上面提供的链接),<ivy:settings>
任务可能具有以下属性:
id
file
url
host
realm
username
passwd
url
的描述是:要使用的设置文件的URL
这意味着
ivysettings.xml
文件实际上可以存储在其他计算机上,甚至甚至可以存储在存储库本身中。但是,最后一个属性(
host
,realm
,username
,passwd
)的描述多种多样:http验证(主机|领域|用户名|密码)
对我来说,这些描述与
url
的描述相结合,表明host
,realm
,username
和passwd
属性是用于查找和检索ivysettings.xml
文件的连接凭据;并且它们不是用于连接到远程存储库的连接凭据。 Ivy允许您在
ivysettings.xml
内定义多个存储库,包括多个url-resolvers
,这一事实进一步证明了这一点,这些存储库可以是位于具有不同访问凭据的不同服务器上的不同存储库。看到<ivy:settings>
任务仅允许您使用这些属性指定一组凭证,这再次暗示这些属性仅用于查找和拉下ivysettings.xml
文件,而不用于与1+仓库进行通信。所以,我问:
url
所在的ivysettings.xml
,还是用于连接到ivysettings.xml
内部定义的远程存储库? ivysettings.xml
上定位url
的凭据,那么我应在何处放置凭据以与实际回购协议所在的Web服务器进行通信(例如ivysettings.xml
所在的服务器以及ivysettings.xml
所在的服务器,我的回购生活可能是两台不同的机器)? url
存储在远程Server A
(远程服务器)上吗?如果是这样,我如何告诉Ivy用Loging Credentials A
查看ivysettings.xml
来找到我的Server B
文件,但是要使用Login Credentials B
在ivysettings.xml
上找到我的存储库? 请注意,其中一些人可能还会发现this问题,并认为我的问题在此是重复的。我认为上面提到的问题仅仅是“我将
<ivy:settings>
文件放在哪里?”的问题。但是,我的问题在本质上有点类似,实际上是在了解ojit_code属性的意图以及它们试图查找的内容:设置文件或设置文件中定义的存储库。提前致谢。 最佳答案
从远程服务器检索设置文件时,将使用ivy settings task上的可选属性。在该settings file中,您可以使用credentials标记为远程存储库指定身份验证凭据。
例子:
关于java - Apache Ivy设置任务和ivysettings.xml文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12448673/