gpt4 book ai didi

java - 通过代码覆盖率确定未使用的 jar ?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:22:51 24 4
gpt4 key购买 nike

我有一个包含一百万个 jar 的项目(好吧,很多)。他们是通过 maven 来找我的,而我只使用了一小部分功能。为了清洁起见,我想知道我可以不用 jar 。

我的第一个想法是用代码覆盖工具运行程序,然后找到被触及的类。

有人做过吗?还是有更聪明的技巧来实现同样的目标?

最佳答案

您可以使用 -verbose:class 运行项目虚拟机选项。这将为加载它们的所有加载类打印。使用一些智能解析 app/grep/regexp 将允许您将 jar 名称过滤成一组唯一的条目并告诉您使用了哪些。

我认为这会更容易,因为它会自动告诉您是否使用了一个类,如果使用了,在哪个 jar 中。

当然,这个问题和代码覆盖率是你可能会删除一个只在某些特殊情况下使用的 jar,但是如果你删除了一两个太多,你的编译器会提示,让你(主要不是太复杂)找到类所在的 jar 的任务。

使用linux时可能的建议:

java -verbose:class <your startup command here> | grep "\[Loaded" | grep -o "from .*\]" | cut -c 6- | sort | uniq

如果你没有使用 linux,那么保存到一个文件,得到一台 linux 机器并在 linux 上运行(或者使用一些东西在 windows 上运行 bash 命令)

关于java - 通过代码覆盖率确定未使用的 jar ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8080668/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com