Eclipse+Maven+Hibernate+com.mysql.cj.jdbc.Driver 問題(無法現在驅動問題)
Eclipse+Maven+Hibernate+com.mysql.cj.jdbc.Driver 問題
問題描述:
eclipse匯入maven專案之後,在我點選 Run on server 提示下面內容:
Cannot load JDBC driver class 'com.mysql.jdbc.Driver
com.mysql.cj.jdbc.Driver
at org.apache.catalina.loader. WebappClassLoaderBassloader(記不太清楚了):1309 1138 錯誤編碼最上面的兩個是1309和1138後面的忘了,也沒有截圖。
解決方法:
找到java jdr 安裝的地方,在C:\Program Files\Java\jre1.8.0_191\lib\ext 和 C:\Program Files\Java\jre1.8.0_191\lib兩個資料夾裡面都放入對資料庫連線版本的jdbc JAR包。我的如下圖:
然後重新整理專案 ,看看專案JRE system library裡面是否出現了對應的JAR包,如果沒有,重啟eclipse。
相關說明:
網上有很多關於右擊專案——>build path的方法,這裡不再說,但是沒有實現的。因為我覺得他們那種方法匯入的包是將JAR包匯入到jdk裡面,這個是開發的時候執行才需要的。那麼我們為什麼要在jre裡面匯入jbbc JAR包呢?我的猜想是這樣的:
eclipse匯入maven專案之後,maven配置檔案裡面有關於資料庫的配置。那麼在專案初始化的時候,hibernate就需要連線資料庫,從資料庫裡,這時候就需要用到資料庫驅動。hibernate在連線資料庫的時候需要用到Java執行環境(java runtime environment,JRE),所以才需要在JRE裡面放置相應的jar包。
產生這個想法的最初起點源於一次舍友教我eclipse安裝及環境配置的時候(雖然我自以為已經很熟,jdk,jre都安裝瞭然後配置環境變數不就行了嗎)。他告訴我,如果只是開發的話,其實不需要安裝JRE的,有JDK就夠了。從那時候起,我才意識到,原來JRE這個東西對於開發不是必須的,他只是為需要用到java環境的程式提供相應的執行環境。