终于想通了。
我从 jar 中复制了 ivysettings.xml 文件并稍作修改。请注意,第一个包含指向常春藤中的 XML 文件,${ivy.lib.dir}
而不是指向${ivy.default.settings.dir}
:
<ivysettings>
<settings defaultResolver="default"/>
<include file="${ivy.lib.dir}/ivysettings-public.xml"/>
<include url="${ivy.default.settings.dir}/ivysettings-shared.xml"/>
<include url="${ivy.default.settings.dir}/ivysettings-local.xml"/>
<include url="${ivy.default.settings.dir}/ivysettings-main-chain.xml"/>
<include url="${ivy.default.settings.dir}/ivysettings-default-chain.xml"/>
</ivysettings>
我有我自己的ivysettings-public.xml
,它与默认值相同,但现在定义了一个root
到我的存储库。(是的,它现在是 localhost,但是一旦我解决了所有问题,我会将其设置为实际服务器):
<ivysettings>
<resolvers>
<ibiblio name="public" m2compatible="true"
root="http://localhost:8081/artifactory/repo" />
</resolvers>
</ivysettings>
现在,在我的 中build.xml
,我有以下内容:
<property name="ivy.lib.dir" value="${basedir}/ivy.lib"/>
<taskdef uri="ivylib:org.apache.ivy.ant"
resource="org/apache/ivy/ant/antlib.xml">
<classpath>
<fileset dir="${ivy.lib.dir}">
<include name="ivy.jar"/>
<include name="ivy-*.jar"/>
</fileset>
</classpath>
</taskdef>
<ivy:configure file="${ivy.lib.dir}/ivysettings.xml" override="true"/>
这似乎可以解决问题。