2009-11-14 114 views
4

這裏有一個類似的問題,但關於類路徑。 ClassNotFoundException com.mysql.jdbc.DriverTomcat 6找不到mysql驅動程序

我已經有一切工作很好,直到前幾天。突然我的小應用程序找不到mysql驅動程序。我不明白爲什麼(我真的已經檢查了所有內容)

我在WEB-INF/lib中獲得了驅動程序jar,但tomcat似乎無法找到它。

任何人有任何想法爲什麼? 我使用Ubuntu與Synaptics的packadge經理

那是給錯誤安裝了Tomcat 6和mysql是:

ClassNotFoundException: com.mysql.jdbc.Driver 

我甚至更改的權限爲777,看它是否可能但它不是:(

+1

消息「com.mysql.jdbc:Driver」中的冒號並不是我期望看到的。這是真的,還是打字錯誤? – 2009-11-14 03:29:11

+1

輸入錯誤,我是從另一臺電腦手動複製這個。 – fmsf 2009-11-14 03:40:25

+0

你如何創建一個數據源?從應用程序中還是從JNDI綁定連接池(DBCP)? – cherouvim 2009-11-14 09:14:11

回答

7

如果您創建了需要此驅動程序的數據源,那麼它應直接放置在管理數據源的容器的類路徑中。在這種情況下,它是管理數據源的Tomcat。因此,將驅動程序放入Tomcat/lib中即可。

除此之外,你告訴你使用的是Ubuntu。它默認使用GNU JDK。我只強烈建議您確保您擺脫它並安裝Sun JDK。 GNU JDK雜亂無章,可能會導致第一眼看不到的問題。希望你考慮到這一點。

+0

我改了它,現在它在web-inf/lib中找到驅動程序 – fmsf 2009-11-14 19:04:48

+0

CATALINA_HOME比「Tomcat」更合適,以避免與CATALINA_BASE混淆。此外,提到GNU JDK的錯誤雖然在寫作時仍然有效,但不再適用(雖然Oracle JDK與OpenJDK存在爭議,但這是另一個話題)。 – youri 2013-08-16 12:26:22

5

嘗試將MySQL JDBC驅動程序放入$CATALINA_HOME/lib並重新啓動Web服務器。另外,請確保tomcat用戶(或任何運行tomcat的用戶)有權讀取它。

0

在tomcat lib中添加jar文件。我認爲你可以從應用程序的WEB-INF/lib中刪除這個jar文件,因爲那樣對於一個類可能有兩個定義。所以只需在tomcat lib中複製jar文件即可。希望這可以幫助。 :)