oracle的jdbc 的maven配置

  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是区分分大小写的。

原文地址:https://www.cnblogs.com/badwood316/p/10816574.html