代码之家  ›  专栏  ›  技术社区  ›  Trick

我如何找出哪个JAR应用程序没有使用?

  •  5
  • Trick  · 技术社区  · 16 年前

    在我们的应用程序开发过程中收集了大量的JAR文件。我怎样才能过滤掉那些应用程序不再使用的内容?用简单的方法?

    5 回复  |  直到 16 年前
        1
  •  3
  •   rsp    16 年前

    如果您确信您的应用程序可以使用所有JAR,那么您可以创建一个简单的perl脚本:

    while (<>) {
        $l{$1}++ if m/\s+from\s+(.+\.jar)/;
    }
    
    for $l (keys(%l)) {
        print "$l\n";
    }
    

    (将其命名为list_jars.pl)并向其提供详细运行的输出:

    java -verbose -jar YOUR_APP.jar | perl list_jars.pl
    

    它应该列出加载的类的所有源。

        2
  •  1
  •   radai    16 年前

    如果您使用的是maven,那么有一个秘诀:mvn依赖关系:分析 如果没有,我不知道有什么简单的方法。困难的方法是对项目中所有编译类进行字节码分析,以检查导入。。。

        3
  •  1
  •   Luca Molteni    16 年前

    我用过 stan

        4
  •  0
  •   Max    16 年前

        5
  •  0
  •   pajton    16 年前

    此解决方案无法基于反射跟踪运行时依赖项(请参阅下面的注释)。