首页 文章

无法获取常 Spring 藤来解决本地存储库中模块的传递依赖性

提问于
浏览
1

几天来我尝试过,根本无法获得apache常 Spring 藤解析我在ivy.xml中声明的依赖关系的依赖关系,当根依赖关系来自我的本地存储库时 . 来自我的公共存储库(maven)的root依赖项运行良好,甚至可以在我编辑其中一个ivy.xml以指向我本地存储库中的模块依赖时工作 . 但是我的本地存储库的传递依赖性解析将无法正常工作 . 我检查了解析的ivy.xml,找到了缓存中我的一个本地模块,并且依赖部分已经被删除了!有什么我必须做的吗?

这是我的ivysettings.xml文件:

<ivysettings>
  <settings defaultResolver="default"/>
  <caches useOrigin="true"/>
  <include url="${ivy.default.settings.dir}/ivysettings-public.xml"/>
  <include url="${ivy.default.settings.dir}/ivysettings-shared.xml"/>
  <include file="${ivy.default.ivy.user.dir}/settings/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>
  <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">
      <artifact
        pattern="${ivy.local.default.root}/[organisation]/[module]/[revision]/[type]s/[artifact]-[revision].[ext]" />
    </filesystem>
  </resolvers>
</ivysettings>

1 回答

  • 3

    如果您要创建自己的设置文件,那么让它列出您所有的结果(更简单的调试) . 在这种情况下,我怀疑你的问题是你的文件系统解析器缺少一个“常 Spring 藤”标签,这可能解释了缺少的传递依赖 .

    尝试以下内容:

    <ivysettings>
        <settings defaultResolver="chain"/>
        <resolvers>
            <chain name="chain">
                <ibiblio name="central" m2compatible="true"/>
                <filesystem name="local">
                    <ivy pattern="${ivy.default.ivy.user.dir}/local/[organisation]/[module]/ivys/ivy-[revision].xml"/>
                    <artifact pattern="${ivy.default.ivy.user.dir}/local/[organisation]/[module]/[type]s/[artifact]-[revision].[ext]"/>
                </filesystem>
            </chain>
        </resolvers>
    </ivysettings>
    

    如您所见,链解析器包括Maven Central和本地存储库 . 以下示例进一步演示了如何使用“模块”指令将ivy引导到依赖于依赖项的特定存储库:

相关问题