我有一个 ivy.xml 文件,我在其中明确指定了我的依赖项。 Ivy 中是否有任何内置功能可以让我发现或自动更新过时的依赖项?

我不想使用 latest.release 因为我想要一个完全稳定和可重现的构建。但每隔一段时间我会想要更新一些依赖项,同时最好回答这个问题,哪些其他依赖项已过时?

最佳答案

和你一样,我只对内部依赖项使用动态版本。升级时,在新的开发阶段开始时,我会使用其中一个存储库搜索工具来发现 3rd 方库的新版本:

  • http://mvnrepository.com/
  • http://mavencentral.sonatype.com/

  • 我相信你知道,另一个问题是升级依赖项通常会导致你的传递依赖项的非自愿升级......

    我的建议是生成一个 Ivy 依赖报告并使用它来检查您的代码的模块使用情况。我发现这非常有用,特别是考虑到某些 3rd 方 Maven 模块表现不佳并且会将许多不必要的库导入我的类路径。

    以下是我的标准依赖项目标的示例:
      <target name='dependencies' description='Resolve project dependencies and set classpaths'>
        <ivy:resolve/>
        <ivy:report todir='${ivy.reports}' graph='false' xml='false'/>
    
        <ivy:cachepath pathid="compile.path"  conf="compile"/>
        <ivy:cachepath pathid="provided.path" conf="provided"/>
        <ivy:cachepath pathid="runtime.path"  conf="runtime"/>
        <ivy:cachepath pathid="test.path"     conf="test"/>
      </target>
    

    希望这会有所帮助.... 如果您找到一种自动管理此功能的方法,我会很感兴趣。

    关于maven-2 - 什么是 Maven 版本的 Ivy 等价物 :display-dependency-updates?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4950048/

    10-15 13:44