我遇到了tomcat 5.5和tomcat 6.0服務器的這個奇怪問題。我有兩個將安裝在tomcat上的web應用程序。當tomcat啓動時,這兩個web應用程序也同時啓動,但有時一個web應用程序由於初始化失敗而無法初始化,另一個應用程序在運行時出現classnotfoundexception錯誤。在tomcat 7.0中,即使其他應用程序初始化失敗,應用程序仍可正常運行。Tomcat 5.5和Tomcat 6.0中的ClassNotFoundException錯誤
經過一些調試後,我發現有一個jar名爲crystal.jar,它位於兩個應用程序的web-inf/lib文件夾中。我已經將jar移動到tomcat的common/lib文件夾,然後它開始工作正常。我想知道爲什麼它在tomcat 7.0中工作正常,而不是在tomcat 5.x和tomcat 6.x版本中。這些版本之間的類加載架構有沒有改變?
感謝
EDIT1:庫是在兩個應用程序的WEB-INF \ lib目錄中的位置和它們與外部DLL不存在依賴關係。剛纔我讀到了關於tomcat 5.5的類加載器體系結構,並且知道每個Web應用程序都有它自己的類加載器。 WEB-INF \ lib文件夾和classes文件夾中的庫將被加載到這個類加載器中。存儲在公共目錄下的庫將被放置到共享類加載器中。然後,這個庫應該單獨加載到Web應用程序的獨立類加載器中。即使一個Web應用程序無法啓動其他Web應用程序,也應該獨立工作。這就是爲什麼我感到奇怪,需要調查furthur。
所以你剛纔提高MaxPermSize參數,對不對? –