2016-10-21 50 views
-1

我在ojdbc7.jar上運行「mvn install ...」,將它作爲依賴項添加到maven項目中,編寫了一個連接到數據庫,測試它並且工作的函數。Spring和OJDBC驅動程序

我打開了一個新的spring mvc項目,將上述項目添加爲maven依賴項,並且還添加到了「部署程序集」,並調用了我編寫的連接到數據庫的函數。

當我在關鍵的TC服務器上運行它(日食內置的服務器),一切正常,直到它到達其他項目,嘗試連接到數據庫中的行,此時它拋出:

HTTP Status 500 - Request processing failed; nested exception is java.sql.SQLException: No suitable driver found for <the url of my database> 

這意味着它不會搜索我的ojdbc7.jar中的驅動程序,即使將它作爲maven依賴項添加到我的spring項目中也沒有幫助。

我在目標\ buildcenter-1.0.0-BUILD-SNAPSHOT \ WEB-INF \ lib中看到ojdbc7 jar,所以它在編譯時添加它,但仍然沒有找到驅動程序,所以必須是一些配置問題。

任何想法如何解決這個問題?

回答

0

發現問題!我希望這將幫助其他人:

在我的正常Maven項目,我用

DriverManager.getConnection(connectionString, connectionProps); 

這java.sql.DriverManager類具有加載驅動程序ojdbc,爲它工作時的一些未知的原因靜態初始化我把它作爲java應用程序運行,但不是當我在春天運行它時(如果有人猜測爲什麼請讓我知道)。

的解決方案是加載自己使用的驅動程序:

Class.forName("oracle.jdbc.driver.OracleDriver"); 
+1

如果驅動程序是Web應用程序部署的一部分,而不是tomcat的/應用服務器的/ etc這不加載。 DriverManager只加載全局系統類加載器上可用的驅動程序,而不是部署的Web應用程序的上下文類加載器。 –

相關問題