Apache IVY - 本地存储库
本地存储库是用户的私有存储库。 当用户使用的库的版本已在其他地方更改并且发生重大更改时,它非常有用。 对于本地存储库,ivy 将使用本地存在的库(如果找到),并且不会查找公共或共享存储库。
默认位置
默认情况下,本地存储库位于 ${ivy.default.ivy.user.dir}/local 文件夹中。 如果要更改它,请使用 ant 文件中的 ivy.local.default.root 变量。
build.xml
<target name="resolve"> <property name="ivy.local.default.root" value="/opt/ivy/repository/local"/> <ivy:resolve /> </target>
其他属性,如ivy模式和artifact模式也可以自定义,如下 −
build.xml
<target name="resolve"> <property name="ivy.local.default.root" value="/opt/ivy/repository/local"/> <property name="ivy.local.default.ivy.pattern" value="[module]/[revision]/ivy.xml"/> <property name="ivy.local.default.artifact.pattern" value="[module]/[revision]/[artifact].[ext]"/> <ivy:resolve /> </target>
覆盖 ivysettings 默认值
默认情况下,ivy 的配置位于 ivy.jar 中的 ivysettings.xml 中。
ivysettings.xml
<ivysettings> <settings defaultResolver="default"/> <include url="${ivy.default.settings.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-local.xml 的内容。
ivysettings-local.xml
<ivysettings> <property name="ivy.local.default.root" value="${ivy.default.ivy.user.dir}/local" override="false"/> <property name="ivy.local.default.ivy.pattern" value="[organisation]/[module]/[revision]/[type]s/[artifact].[ext]" override="false"/> <property name="ivy.local.default.artifact.pattern" value="[organisation]/[module]/[revision]/[type]s/[artifact].[ext]" override="false"/> <resolvers> <filesystem name="local"> <ivy pattern="${ivy.local.default.root}/${ivy.local.default.ivy.pattern}" /> <artifact pattern="${ivy.local.default.root}/${ivy.local.default.artifact.pattern}" /> </filesystem> </resolvers> </ivysettings>