【问题标题】:What is the easiest way to determine if a Maven dependence is actually used?确定是否实际使用了 Maven 依赖项的最简单方法是什么?
【发布时间】:2012-03-14 09:34:59
【问题描述】:

我正在修剪的 Maven pom 中有一些依赖项。为了检查它们,我将依赖项注释掉并重新运行构建。如果失败,则需要依赖项。如果它没有失败,那么我将其删除。

是否有一种更简单、更快捷的方法来检查 Maven 构建是否需要依赖项?

【问题讨论】:

  • 这是一种确定是否需要某些东西的冒险方法,除非您的测试通过系统的所有可能路径进行测试。
  • 您是否尝试过依赖插件的分析或仅分析目标?见here
  • 这是有风险的,我不喜欢它。再说一遍,你如何避免建立遗留依赖关系?
  • 我测试了“mvn 依赖:分析”和“mvn 依赖:仅分析”。它声明我对“org.slf4j”的依赖是“未使用的声明”。我将它们注释掉并执行了一个干净的构建,这破坏了我的测试。感觉并不比我以前做的好多少。

标签: maven dependencies pom.xml


【解决方案1】:

由于 java 类加载器的动态特性,没有完美的解决方案。

JarAnalyzer 这样的依赖分析工具肯定会帮助识别目录中jar 之间的静态或编译时关系。

动态或运行时关系更难确定,这就是为什么其中一个建议是确保您拥有一套全面的单元测试,尽可能多地练习您的代码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-09-23
    • 2019-03-10
    • 2015-04-13
    • 1970-01-01
    • 2011-09-14
    • 2010-11-06
    • 2013-04-07
    • 2012-01-28
    相关资源
    最近更新 更多