2012-03-28 163 views
3

我在tomcat的lib /文件夾中有一個自定義的jar文件。據我所知,該文件夾中的任何jar文件將在啓動時加載。檢查是否加載了jar文件?

有無論如何我可以檢查一個特定的jar文件是否加載?

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

回答

14

我想我已經看到哪些jar在Tomcat日誌文件中的一個啓動時打開。如果不是我能想到的兩種可能的備選方案:

  • 添加-verbose:類給Tomcat啓動腳本JAVA_OPTS。它應該在JVM加載時輸出類(大量輸出)。 grep的日誌文件(或標準輸出)找到,如果您的罐子類上市
  • 使用Linux命令lsof FO看開了由
+0

'lsof'確實回答了我的問題。它幫助我瞭解罐子是否被使用。謝謝。 – latestVersion 2012-03-28 14:35:04

2

罐子是不是真的「在啓動時加載」 Tomcat進程文件。但Tomcat的系統類加載器正在從這些jar中加載類。你可以檢查罐子裏的某些類是否可用:

  • 試圖從你的代碼中加載該類,例如: getClass().getClassloader().loadClass(className)
  • 通過嘗試將類加載爲資源 例如, getClass().getResource("/" + className.replace('.', '/') + ".class")

在第二種情況下,您應該在由getResource()返回的url中包含名稱或您的jar文件。