当前位置: 首页 > 面试题库 >

如何确定应用程序中使用了哪些JAR

叶富
2023-03-14
问题内容

现有应用程序的类路径中有大量的JAR文件。一定要确保最初添加了所有JAR。显然没有使用某些JAR,我们已经删除了其中一些不需要的JAR,而没有引起任何问题。

如何确定正在使用哪些JAR,哪些是不需要的(除尝试和错误方法外)?


问题答案:

Tattletale是一个很好的工具。它对字节码起作用,因此有可能通过反射使用某些类,而这些类不会出现在报告中。

这里(
链接不再有效 )是示例报告。如您所见,您仅拥有要查找的功能“ Unused JAR ”。



 类似资料:
  • 问题内容: 是否有任何工具可以列出应用程序有效使用哪些类以及何时有效使用某些类,甚至更好地自动修剪JAR库以仅提供被引用和使用的类? 问题答案: 请记住,正如停机问题所证明的那样,您不能肯定地说某个特定类已使用或未使用。至少在任何中等复杂的应用程序上。这是因为类不仅在编译时绑定,而且可以加载: 基于XML配置(例如Spring); 从属性文件加载(例如JDBC驱动程序名称); 动态添加注释; 由于

  • 假设我有一个卷,我知道它的名称或id。 我想确定使用卷的容器列表(它们的名称或id)。 我可以使用什么命令来检索这些信息? 我认为它可以存储在docker volume inspect的输出中

  • 我正在使用Hazelcast Imap接口以分布式方式锁定项目,而不是将项目放在map中,我只是调用lock方法,它似乎有效,但我不知道如何查询哪些项目当前被锁定,因为项目在map中不可用。有没有方法可以查询Hazelcast锁定的键?下面是示例代码:public void testMap_DistributedLock(){final Config hazelcastConfig=new Con

  • 我没有指定任何GC,我认为我的JVM默认情况下没有启用任何GC。 当然,我知道 OpenJDK8 默认使用并行GC,但我认为它应该可以通过命令行打印,如下所示: < code > Java-XX:print flags final | grep Use | grep GC 我期望输出包含< code > bool UseParallelOldGC = true { product } ,但它不是:

  • 问题内容: 假设我们项目中的每个PHP文件都包含一个类定义,那么如何确定文件中定义了哪些类? 我知道我可以对文件进行正则表达式声明,但是我更喜欢做一些更有效的事情。 问题答案: 对于正在从事的项目,我需要这样的东西,这是我编写的功能: