当前位置: 首页 > 知识库问答 >
问题:

常春藤未能解决

毛德曜
2023-03-14

我是艾薇的新手,所以这可能已经被报道过了,但是我知道的还不够多。我的搜索结果是空的,没有找到类似的经历。

因此,当我第一次下拉整个项目并且更新库引用时,我有时会收到未解决的依赖项警告。它似乎在随机库上。

例如,我刚刚在某个项目中添加了Commons-codec-1.9,而工作集中的其他项目使用1.6和1.7。当运行盛大的构建脚本时,突然对于1.6和1.7“配置[is]未找到”:

::::::::::::::::::::::::::::::::::::::::::::::
[ivy:resolve]       ::          UNRESOLVED DEPENDENCIES         ::
[ivy:resolve]       ::::::::::::::::::::::::::::::::::::::::::::::
[ivy:resolve]       :: commons-codec#commons-codec;1.6: configuration not found in commons-codec#commons-codec;1.6: 'runtime'. It was required from org.apache.httpcomponents#httpclient;4.2.2 compile
[ivy:resolve]       :: commons-codec#commons-codec;1.7: configuration not found in commons-codec#commons-codec;1.7: 'runtime'. It was required from org.apache.solr#solr-core;4.0.0 compile
[ivy:resolve]       ::::::::::::::::::::::::::::::::::::::::::::::

现在,我不完全确定这意味着什么。我所知道的是,在我的常春藤缓存(C:\用户\me\.ivy2\缓存\共享资源编解码器\共享资源编解码器)中,ivy-1.6.xml和ivy-1.7.xml文件比解析的文件小得多。例如,常春藤-1.6.xml

<?xml version="1.0" encoding="UTF-8"?>
<ivy-module version="2.0">
    <info organisation="commons-codec"
        module="commons-codec"
        revision="1.6"
        status="release"
        publication="20140107114252"
        default="true"
    />
    <configurations>
        <conf name="default" visibility="public"/>
    </configurations>
    <publications>
        <artifact name="commons-codec" type="jar" ext="jar" conf="default"/>
    </publications>
</ivy-module>

而任何其他解决了的艺术品都包含了更多的信息。

问题是,我可以从另一个开发人员的缓存中复制他们的ivy-x.y.xml,然后它正确下载JAR,一切正常。我需要做什么才能避免每次更新或添加库时都发生这种情况?

共有1个答案

常博裕
2023-03-14

我怀疑你的缓存是陈旧的。如果你对你的常青藤或常青藤集文件做了很多更改,就会发生这种情况。

我建议添加一个额外的目标,您可以使用它定期强制重新下载您的项目依赖项:

<target name="clean" description="Cleanup build files">
    <delete dir="${build.dir}"/>
</target>

<target name="clean-all" depends="clean" description="Additionally purge ivy cache">
    <ivy:cleancache/>
</target>
 类似资料:
  • 我目前正在与apache ivy的conf设置作斗争。也许我会先解释我想实现的目标: 我需要两种配置:编译、运行时 这是我试过的: 但它甚至无法被解析:无法解析ivy文件'...\ivy.xml': 有人能告诉我如何正确地声明conf设置,这样我就可以使用compile或runtime来解析,并获得所有jar,包括可传递的依赖项(在这个示例中,只有ivy的jar)。 使现代化 好的,谢谢你的链接。

  • 我正在尝试使用IVY,并且我已经在springsource工具套件中设置了我的IVY-de。 在尝试构建我的工作空间时,我得到了以下错误。 说明资源路径位置类型类路径发布/导出依赖项C:/Users/user1/.ivy2/cache/jstl/jstl.jars/jstl-1.2.jar无效。项目包含另一个具有相同存档名称的依赖项。Web P/Web类路径依赖关系验证器消息 在这方面,我们非常感

  • 我无法使用Apache Ivy解决我的vaadin 7项目。每当我尝试时,它都会显示一个错误框,其中显示 “常春藤解决”遇到了一个问题。某些项目无法解决。 在单击错误框上的“详细信息”按钮时,我得到了以下附加信息 某些项目无法解决无法解决com.example#v7proj;的依赖项;working@User无法解析的依赖项:com.vaadin#vaadin客户端已编译;7.6.2:未找到未解析

  • 我有一个简单的文件: 其中是我的配置名称,是映射的Maven类型。这被正确解析并给我这些文件: 现在,我必须添加这个依赖项: 它将< code>validation-api作为其依赖项,与我在顶部指定的相同。 艾薇解决了这个问题,给了我这些文件: 但这次没有检索到文件。为什么?我认为这个文件没有冲突……我应该怎么做才能拥有和jar(二进制和源代码)?

  • 我项目中的某些开发人员无法成功执行常春藤解析。我们对远程服务器/文件系统使用ivy-ssh解析器。受影响的开发人员通常会成功解决除1或2个依赖项之外的所有依赖项。未能解决的依赖关系是较大的jar(例如:nasa worldwind)。同样,大多数用户能够毫无问题地解决所有依赖项。eclipse项目,常春藤。xml和ivysettings。xml都来自软件repo,在受影响的用户和未受影响的客户之间

  • 我正在尝试解决Ant/Ivy系统中的一些技术债务,我目前的任务之一是解决我们目前的一些检索后行为。默认情况下,我们的构建系统检索Ivy依赖项,然后将压缩工件(tar、tar.bz2、gzip、zip)提取到依赖文件夹,以便我们的项目具有一致的依赖位置: 提取发生在中,因此我们可以受益于一些元数据(路径、名称、类型等),所有这些都以'dep'为前缀。 我们目前有一个属性,可以设置为关闭 ivy.xm