gpt4 book ai didi

maven-2 - 将公共(public) maven 存储库与 ivy 一起使用

转载 作者:行者123 更新时间:2023-12-03 07:49:51 24 4
gpt4 key购买 nike

我有一个 ivy.xml包含

<dependencies>
<dependency org="commons-lang" name="commons-lang" rev="2.4"/>
<dependency org="foo-bar" name="superwidgets" rev="1.5"/>
</dependencies>

整个 superwidget 的东西都托管在 http://example.com/m2/ 的 maven 存储库中。 . Ivy 文档 mentions resolvers ,但它似乎假设一个 Ivy 存储库。如何将单个非官方 maven 存储库添加到我的 ivy 设置中以仅由单个模块使用? (或者换一种说法,什么对应于 maven 在 ivy 中的 <repository> 标记?)没什么特别的,所以我希望在我的 ivy.xml 中有一个单行。

最佳答案

您需要添加 ivysettings.xml 列出以下存储库的文件(resolvers Ivy 语言)

<ivysettings>
<settings defaultResolver="chain"/>
<resolvers>
<chain name="chain">
<ibiblio name="central" m2compatible="true"/>
<ibiblio name="example" m2compatible="true" root="http://example.com/m2/"/>
</chain>
</resolvers>
</ivysettings>

在我看来,将依赖声明(ivy.xml)与检索机制(settings.xml)分开更有意义。这在 Maven 中是不需要的,因为它只支持一种类型的存储库。

如果你想变得非常花哨,你可以控制哪个存储库为特定模块提供服务:
<ivysettings>
<settings defaultResolver="central"/>
<resolvers>
<ibiblio name="central" m2compatible="true"/>
<ibiblio name="example" m2compatible="true" root="http://example.com/m2/"/>
</resolvers>
<modules>
<module organisation="foo-bar" name="superwidgets" resolver="example"/>
</modules>
</ivysettings>

关于maven-2 - 将公共(public) maven 存储库与 ivy 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4836011/

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