今天遇到一個很常見但是困擾了我好幾個小時的簡單問題!
問題描述:
在做Java web開發(fā)鏈接數(shù)據(jù)庫的候經(jīng)常報ClassNotFoundException: com.mysql.jdbc.Driver(找不到j(luò)dbc的異常)jdbc-connector.jar 導(dǎo)入了、數(shù)據(jù)庫鏈接字符串沒問題、項目也重新部署了、服務(wù)器也重啟過......它還是報這個錯誤。
解決思路:
于是試著將數(shù)據(jù)庫鏈接的部分抽出來以Java application的方式運行并沒有報錯!!!那就說明這個問題出現(xiàn)在服務(wù)器端!于是我到tomcat的lib下去找果然沒有發(fā)現(xiàn)jdbc-connector.jar,接下來將jdbc-connector.jar放進(jìn)去重啟tomcat就沒有報錯了!后來想了一下上面的處理不夠好,我們知道sun規(guī)定web應(yīng)用有自己的固定的目錄結(jié)構(gòu),在WEB-INF下面有一個lib文件夾,里面存放該項目用到的庫文件,如果我們將jdbc-connector.jar放在Tomcat里面會使Tomcat變得臃腫,其他項目可能并不會用到j(luò)dbc-connector.jar這個庫文件,所以如果只針對的是本項目就應(yīng)該將其放在WEB-INF下面的lib文件夾里,當(dāng)使用到這個庫文件的時候,會自動到該目錄下尋找。
總結(jié):
要明白整個項目啟動的順序,各個工具的作用,用排除法定位錯誤源,然后解決問題