gpt4 book ai didi

ivy:resolve 使用显式解析器

转载 作者:行者123 更新时间:2023-12-01 23:25:59 28 4
gpt4 key购买 nike

我配置了两个解析器。一个是公司 repo ,另一个是本地开发商 repo 。我想:

<ivy:resolve  />
<ivy:install from="company" to="local" ... />

重要的是,第一个 resolve 直接进入公司 repo 并收集所有需要的模块。

问题:我无法强制 resolve 使用明确定义的解析器。我尝试在我的设置文件中使用“模块”,但后来我只从公司获得了一些模块,其余的仍然是从本地读取的(当时是空的,所以我得到了解决错误)。

我可以使用 2 个设置文件,一个用于准备,一个用于本地开发,但必须有更好的方法。为什么“publish”可以设置解析器,而“resolve”不能?

最佳答案

Why can "publish" set a resolver, but "resolve" can't?

解析绝对可以。这通常是通过您提到的您不想做的多个设置文件来完成的。在实践中,我发现将多个设置文件与解析调用的 settingsRef 属性结合使用是很常见的(如果不是标准的话)。

在我们的项目中,我们做了一些事情:

...
<target name="init-ivy" depends="">
<ivy:settings id="install.settings"
file="${project.ivy.config.dir}/ivysettings-install.xml"/>
<ivy:settings id="internet.settings"
file="${project.ivy.config.dir}/ivysettings-internet.xml"/>
...
</target>
...
<!-- note init-ivy has already been called before this target runs -->
<target name="resolve-internet" if="internet.connected" >
<echo>"internet connected! Resolving dependencies via internet..."<echo/>
<ivy:resolve settingsRef="internet.settings"
haltonfailure="false" failureproperty="resolve.failed"/>
</target>
...

当然,在一个更简单的项目中,您总是可以自动调用“主”设置文件(通过将其放在根目录中或编辑 ivy 属性 $ivy.settings.file) 所以你只在运行安装目标时使用“安装”设置。

关于ivy:resolve 使用显式解析器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5235396/

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