gpt4 book ai didi

java - Ivy 依赖项(拉入文件目录)

转载 作者:行者123 更新时间:2023-11-30 04:35:45 27 4
gpt4 key购买 nike

对问题进行极端编辑,使其更有意义:

假设我需要使用本地版本的 httpclient,而不是可以从在线存储库中提取的版本(由于签名原因)。我想要处理这个问题的方式就像这样......

ivy.xml

<小时/>
<dependencies>  
...Other dependencies here
<dependency org="com.apache" name="httpclient" rev="4.2.2" conf="compile->default" ext="jar" />
</dependencies>
<小时/>

ivysettings.xml

<小时/>
<settings defaultResolver="central"/>

<resolvers>
<url name="repo">
<ivy pattern="http://myServer:8080/Repo/[organisation]/[artifact]/[revision]/ivy.xml" />
<artifact pattern="http://myServer:8080/Repo/[organisation]/[artifact]/[revision]/[artifact].[ext]"/>
</url>

<url name="httpclient">
<artifact pattern="http://myServer:8080/Repo/com.apache/httpclient/4.2.2/[artifact].[ext]"/>
</url>



<modules>
<module organisation="com.apache" resolver="repo" />
<module organisation="com.httpclient" resolver="httpclient" />
</modules>
<小时/>

现在我在这里希望(但运气不太好)是 com.apache 解析器寻找 myServer:8080/Repo/com.apache/httpclient/4.2.2/ivy.xml 和阅读该内容,这是该文件的内容:

ivy.xml(在 myServer:8080/repo/... 目录中)

<小时/>
    <dependency org="com.httpclient" name="commons-codec" rev="1.6" />
<dependency org="com.httpclient" name="commons-logging" rev="1.1.1" />
<dependency org="com.httpclient" name="fluent-hc" rev="4.2.2" />
<dependency org="com.httpclient" name="httpclient" rev="4.2.2" />
<dependency org="com.httpclient" name="httpclient-cache" rev="4.2.2" />
<dependency org="com.httpclient" name="httpcore" rev="4.2.2" />
<dependency org="com.httpclient" name="httpmime" rev="4.2.2"/>
<小时/>

当您考虑要添加到我们经常包含的内容中的 LOC 数量时,想要读取第二个 xml 文件而不是在第一个文件中包含标记的原因非常明显。它还使所有 future 的内容也变得更容易。

现在我收到的错误是:

部分项目未能解决无法解析 com.myCompany#myProgramt;working@CompName 的依赖关系 Unresolved 依赖关系:com.apache#httpclient;4.2.2:未找到

<小时/>

感谢您在此事上的帮助。

最佳答案

Ivy 希望在同一解析器中找到给定工件的所有依赖项。因此,它找到 com.apache 的工件在你的repo解析器,并期望找到 com.httpclient也在那里。

Ivy 也会滚动你的 <ivy pattern.../><artifact pattern.../>在同一解析器声明中按顺序声明。您可以利用这一点来创建一个解析器,它按照您想要的顺序访问两个存储库:

<url name="amalgamation">
<ivy pattern="http://myServer:8080/Repo/[organisation]/[artifact]/[revision]/ivy.xml" />
<artifact pattern="http://myServer:8080/Repo/[organisation]/[artifact]/[revision]/[artifact].[ext]"/>
<artifact pattern="http://myServer:8080/Repo/com.apache/httpclient/4.2.2/[artifact].[ext]"/>
</url>

关于java - Ivy 依赖项(拉入文件目录),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13567799/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com