问题:
maven项目,spring中添加数据源,调用出错:
org.springframework.jdbc.CannotGetJdbcConnectionException
Cannot load JDBC driver class 'oracle.jdbc.driver.OracleDriver"
分析:
虽然在maven中添加ojdbc dependency,仍显示无法加载。因为由于证书问题,maven中央库无法直接加载,需要手动加载到本地maven库。
解决:
http://www.mkyong.com/maven/how-to-add-oracle-jdbc-driver-in-your-maven-local-repository/
1. Get Oracle JDBC Driver
Two ways to get the Oracle jdbc driver :
- Oracle.com
- Oracle database installed folder, for example, “{ORACLE_HOME}\jdbc\lib\ojdbc6.jar“
2. Install It
To install your Oracle jdbc driver, issue following command :
mvn install:install-file -Dfile={Path/to/your/ojdbc.jar} -DgroupId=com.oracle -DartifactId=ojdbc14 -Dversion=11.2.0 -Dpackaging=jar
See following full example :
D:\>mvn install:install-file -Dfile=D:\app\mkyong\product\11.2.0\dbhome_1\jdbc\lib\ojdbc6.jar -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0 -Dpackaging=jar [INFO] Scanning for projects... [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building Maven Stub Project (No POM) 1 [INFO] ------------------------------------------------------------------------ [INFO] [INFO] --- maven-install-plugin:2.3.1:install-file (default-cli) @ standalone-pom --- [INFO] Installing D:\app\mkyong\product\11.2.0\dbhome_1\jdbc\lib\ojdbc6.jar to D:\maven\repo\com\oracle\ojdbc6\11.2.0\ojdbc6-11.2.0.jar [INFO] Installing C:\Users\mkyong\AppData\Local\Temp\mvninstall9153984116424557894.pom to D:\maven\repo\com\oracle\ojdbc6\11.2.0\ojdbc6-11.2.0.pom [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 2.279s [INFO] Finished at: Thu Apr 21 19:56:37 SGT 2011 [INFO] Final Memory: 2M/4M [INFO] ------------------------------------------------------------------------
3. pom.xml
Now, you can reference it by declares following Oracle details in your pom.xml
.
File : pom.xml
<project ...> <dependencies>> <!-- ORACLE database driver --> <dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc14</artifactId> <version>10.2.0.4</version> </dependency> </dependencies> </project>