oracle的jdbc是需要收费,因此在maven的中心库是无法下载。有两个办法引入到工程中,一个是手工,另外一个是加入oracle自己的maven库
一、手工配置(本地依赖)
首先要下载到想要的版本对应的jar包。比如
10.2.0.3对应ojdbc14.jar,12.2.0.1对应ojdbc8.jar。至于如何下,各展神通吧。
其次,运行命令,指定jar包和版本(其中{}内是版本和文件位置),跑完后就会在用户home目录下的.m2/repository/com/oracle下发现安装后的maven依赖:
mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc14 -Dversion={12.2.0.1} -Dpackaging=jar -Dfile={ojdbc8.jar}
有个问题就是我的电脑里面没有单独安装maven,使用的是idea的内置maven,因此需要到idea的安装目录去找mvn执行文件。
二、配置oracle的maven库(在线依赖)
这个配置有些复杂,主要是配置pom.xml里面的3个内容:jdbc依赖、oracle的repositories、pluginRepositories:
1 <dependencies> 2 <dependency> 3 <groupId>com.oracle.jdbc</groupId> 4 <artifactId>ojdbc8</artifactId> 5 <version>18.3.0.0</version> 6 </dependency> 7 </dependencies> 8 <repositories> 9 <repository> 10 <id>maven.oracle.com</id> 11 <name>oracle-maven-repo</name> 12 <url>https://maven.oracle.com</url> 13 <layout>default</layout> 14 <releases> 15 <enabled>true</enabled> 16 <updatePolicy>always</updatePolicy> 17 </releases> 18 </repository> 19 </repositories> 20 <pluginRepositories> 21 <pluginRepository> 22 <id>maven.oracle.com</id> 23 <name>oracle-maven-repo</name> 24 <url>https://maven.oracle.com</url> 25 <layout>default</layout> 26 <releases> 27 <enabled>true</enabled> 28 <updatePolicy>always</updatePolicy> 29 </releases> 30 </pluginRepository> 31 </pluginRepositories>
以及本地.m2目录下的settings.xml和settings-security.xml文件(主要是配置你在oralce的用户账号和密码),具体过程可以参看:https://blogs.oracle.com/dev2dev/get-oracle-jdbc-drivers-and-ucp-from-oracle-maven-repository-without-ides。第3、4步生成maven用户目录下的两个xml。
settings.xml:
<settings> <servers> <server> <id>maven.oracle.com </id> <username>username on oracle site</username> <password>output from command:mvn -encrypt-password <any_master_password> or mvn -ep <any_master_password></password> <configuration> <basicAuthScope> <host>ANY </host> <port>ANY </port> <realm>OAM 11g </realm> </basicAuthScope> <httpConfiguration> <all> <params> <property> <name>http.protocol.allow-circular-redirects </name> <value>%b,true </value> </property> </params> </all> </httpConfiguration> </configuration> </server> </servers> </settings>
settings-security.xml:
<settingsSecurity> <master>output from command:mvn -emp <any_master_password></master> </settingsSecurity>
这里有个小坑:关键字settingsSecurity是区分分大小写的。