检查jar文件是否已加载?

时间:2012-03-28 14:12:23

标签: java unix jar tomcat6

我在tomcat lib /文件夹中有一个自定义jar文件。据我所知,此文件夹中的任何jar文件都将在启动时加载。

无论如何我可以检查是否加载了特定的jar文件?

我在unix rhel5上运行tomcat-6.0.35.A。

2 个答案:

答案 0 :(得分:17)

我想我已经在Tomcat日志文件中看到了哪些罐子在启动时打开了。如果没有,我可以考虑两种可能的选择:

  • 在Tomcat启动脚本中将 -verbose:class 添加到JAVA_OPTS。它应该在JVM加载时打印类(大量输出)。 Grep日志文件(或stdout),用于查找是否列出了jar中的类
  • 使用Linux lsof命令查看Tomcat进程打开的文件

答案 1 :(得分:2)

Jars并非真正“在启动时加载”。但是Tomcat的系统类加载器正在从这些jar中加载类。您可以检查jar中的某个类是否可用:

  • 尝试从代码中加载该类,例如getClass().getClassloader().loadClass(className)
  • 尝试将类加载为资源, 例如getClass().getResource("/" + className.replace('.', '/') + ".class")

在第二种情况下,您应该在getResource()返回的网址中包含名称或您的jar文件。