2014-11-22 64 views
2

我有一個在Netbeans 6.8中創建的企業應用程序,它與Glassfish V3服務器打包在一起。我已經從服務器接收日誌中的以下異常,當我嘗試部署和運行EAR項目:哪裏可以在Windows中的Netbeans/Glassfish上添加jdbc驅動程序?

SEVERE: jdbc.exc_cnfe_ds 
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 

從谷歌上搜索,這種共同的解決辦法是複製的jar文件(使用mysql-connector-java的-5.1.6-bin.jar)包含該類到

$glassfish-v3-install-root/glassfish/domains/domain1/lib. 

事實上,這就是它駐留在Unix服務器上。但是,我在Windows上測試這個,並且在默認的glassfish安裝中不存在「domains/domain1」目錄。我手動添加它們並添加了jar,但沒有任何區別。我也將jar作爲變量添加到了windows classpath中,但這也沒有任何作用。

然後我嘗試添加jar文件$與GlassFish v3的安裝根/ GlassFish的/ lib和,產生了不同的錯誤:

重度:RAR5111:錯誤鑄造javax.sql.Datasource取得 爪哇。 lang.ClassCastException:com.mysql.jdbc.Driver不能轉換爲javax.sql.DataSource

我正在使用與服務器存在相同的jar文件。我猜這個罐子放錯了地方?我不想把它放在項目中,因爲這不是它在生產中的部署方式。任何幫助讚賞。

回答

3

將jar文件放在$ glassfish-v3-install-root/glassfish/lib中證明是正確的。

"SEVERE: RAR5111 : Error casting to javax.sql.Datasource java.lang.ClassCastException: com.mysql.jdbc.Driver cannot be cast to javax.sql.DataSource" 

錯誤是,我相信,造成了GlassFish服務器的連接池不正確的設置。但是去Netbeans的「服務器」選項卡上的管理控制檯,進入「JDBC」,「連接池」,選擇「java.sql.driver」作爲資源類型,選擇「com.mysql.jdbc.driver」因爲驅動程序類名將擺脫鑄造問題。

單擊頂部附近的「Ping」按鈕以確保連接。