我在使用maven添加oracle的数据库驱动ojdbc5时,遇到一个问题。
通常使用maven添加jar包,是在maven repository中搜索相关的jar包。
我在maven repository中找oracle的数据库驱动ojdbc5,
添加到pom.xml中时总是这个提示:Missing artifact com.oracle:ojdbc5:jar:11.2.0.1.0
我在网上找了好多资料,大意都有同一个说法:oracle没有授权给maven,使用Oracle的JDBC驱动。
所以需要自己手动添加Oracle的JDBC驱动。
这时我有两种方法,使用Oracle的JDBC驱动。
方法一:(最简单,适合一次使用)
在maven项目下新建一个lib文件夹,在我的本地电脑下找到我的oracle数据库下的jdbc驱动
F:\app\MaoFachang\product\11.2.0\dbhome_1\jdbc\lib,在lib文件夹下找到ojdbc5.jar文件,将其复制到maven项目下的lib目录下。
在选中ojdbc5.jar右键Build Path添加到项目。
这种方法是最简单的,但没有体现maven仓库的作用。依然是我们人工手动管理jar包。
尤其是需要开发多个项目,多次使用ojdbc5.jar时,就显得太臃肿了。
方法二:在maven本地仓库中添加oracle的jdbc驱动。
我在网上找了很多资料,比较分散,现在把它们总结一下,写下来,分享给大家。
1.首先,确认jdk的环境变量添加到了PATH环境中。
在我的电脑--属性--高级系统设置--高级--环境变量--用户变量下
新建变量:JAVA_HOME
变量值为jdk的安装目录:D:\Java\jdk1.8.0_121(这个jdk的安装目录是自己的安装jdk的目录)
在用户变量下
新建变量:PATH
变量值为:%JAVA_HOME%\bin;
在DOS窗口,输入命令:
java -version 查看jdk的版本,看到如下信息jdk环境变量配置成功。
Microsoft Windows [版本 6.3.9600]
(c) 2013 Microsoft Corporation。保留所有权利。
C:\Users\MaoFachang>java -version
java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)
C:\Users\MaoFachang>
2.将maven的环境变量添加到了PATH环境中。
在我的电脑--属性--高级系统设置--高级--环境变量--用户变量下
新建变量:MAVEN_HOME
变量值为jdk的安装目录:D:\apache\apache-maven-3.3.9
在用户变量下的变量:PATH
添加变量值为:%MAVEN_HOME%\bin;
在DOS窗口,输入命令:
mvn -version 查看maven的版本,看到如下信息maven环境变量配置成功。
Microsoft Windows [版本 6.3.9600]
(c) 2013 Microsoft Corporation。保留所有权利。
C:\Users\MaoFachang>mvn -version
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T00:41:4
7+08:00)
Maven home: D:\apache\apache-maven-3.3.9\bin\..
Java version: 1.8.0_121, vendor: Oracle Corporation
Java home: D:\Java\jdk1.8.0_121\jre
Default locale: zh_CN, platform encoding: GBK
OS name: "windows 8.1", version: "6.3", arch: "amd64", family: "dos"
C:\Users\MaoFachang>
3.找到maven文件的根目录下的config目录,修改setting.xml文件
配置maven本地仓库
<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ${user.home}/.m2/repository
<localRepository>/path/to/local/repo</localRepository>
-->
<!--配置maven本地仓库-->
<localRepository>D:/java/to/local/repo</localRepository>
使用阿里云的中央仓库
<mirrors>
<!-- mirror
| Specifies a repository mirror site to use instead of a given repository. The repository that
| this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used
| for inheritance and direct lookup purposes, and must be unique across the set of mirrors.
|
<mirror>
<id>mirrorId</id>
<mirrorOf>repositoryId</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://my.repository.com/repo/path</url>
</mirror>
-->
<!--使用阿里云-->
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
</mirrors>
4.在oracle数据库的安装目录找到ojdbc5.jar,复制到C盘下。
F:\app\MaoFachang\product\11.2.0\dbhome_1\jdbc\lib
打开DOS窗口,执行:
mvn install:install-file -Dfile=C:/ojdbc5.jar -DgroupId=com.oracle -DartifactId=ojdbc5 -Dversion=5.0 -Dpackaging=jar -generatePom=true
详细过程如下:
Microsoft Windows [版本 6.3.9600]
(c) 2013 Microsoft Corporation。保留所有权利。
C:\Users\MaoFachang>mvn install:install-file -Dfile=C:/ojdbc5.jar -
DgroupId=com.
oracle -DartifactId=ojdbc5 -Dversion=5.0 -Dpackaging=jar -
DgeneratePom=true
[INFO] Scanning for projects...
Downloading:
http://maven.aliyun.com/nexus/content/groups/public/org/apache/mave
n/plugins/maven-install-plugin/2.4/maven-install-plugin-2.4.pom
Downloaded:
http://maven.aliyun.com/nexus/content/groups/public/org/apache/maven
/plugins/maven-install-plugin/2.4/maven-install-plugin-2.4.pom (7 KB
at 16.6 KB/
sec)
[INFO]
[INFO]
---------------------------------------------------------------------
---
[INFO] Building Maven Stub Project (No POM) 1
[INFO]
---------------------------------------------------------------------
---
[INFO]
[INFO] --- maven-install-plugin:2.4:install-file (default-cli) @
standalone-pom
---
Downloading:
http://maven.aliyun.com/nexus/content/groups/public/org/codehaus/pl
exus/plexus-utils/3.0.5/plexus-utils-3.0.5.pom
Downloaded:
http://maven.aliyun.com/nexus/content/groups/public/org/codehaus/ple
xus/plexus-utils/3.0.5/plexus-utils-3.0.5.pom (3 KB at 13.0 KB/sec)
Downloading:
http://maven.aliyun.com/nexus/content/groups/public/org/codehaus/pl
exus/plexus/3.1/plexus-3.1.pom
Downloaded:
http://maven.aliyun.com/nexus/content/groups/public/org/codehaus/ple
xus/plexus/3.1/plexus-3.1.pom (19 KB at 96.7 KB/sec)
Downloading:
http://maven.aliyun.com/nexus/content/groups/public/org/codehaus/pl
exus/plexus-digest/1.0/plexus-digest-1.0.pom
Downloaded:
http://maven.aliyun.com/nexus/content/groups/public/org/codehaus/ple
xus/plexus-digest/1.0/plexus-digest-1.0.pom (2 KB at 6.0 KB/sec)
Downloading:
http://maven.aliyun.com/nexus/content/groups/public/org/codehaus/pl
exus/plexus-components/1.1.7/plexus-components-1.1.7.pom
Downloaded:
http://maven.aliyun.com/nexus/content/groups/public/org/codehaus/ple
xus/plexus-components/1.1.7/plexus-components-1.1.7.pom (5 KB at 28.4
KB/sec)
Downloading:
http://maven.aliyun.com/nexus/content/groups/public/org/codehaus/pl
exus/plexus/1.0.8/plexus-1.0.8.pom
Downloaded:
http://maven.aliyun.com/nexus/content/groups/public/org/codehaus/ple
xus/plexus/1.0.8/plexus-1.0.8.pom (8 KB at 32.4 KB/sec)
Downloading:
http://maven.aliyun.com/nexus/content/groups/public/org/codehaus/pl
exus/plexus-container-default/1.0-alpha-8/plexus-container-default-
1.0-alpha-8.p
om
Downloaded:
http://maven.aliyun.com/nexus/content/groups/public/org/codehaus/ple
xus/plexus-container-default/1.0-alpha-8/plexus-container-default-
1.0-alpha-8.po
m (8 KB at 37.7 KB/sec)
Downloading:
http://maven.aliyun.com/nexus/content/groups/public/classworlds/cla
ssworlds/1.1-alpha-2/classworlds-1.1-alpha-2.jar
Downloading:
http://maven.aliyun.com/nexus/content/groups/public/org/codehaus/pl
exus/plexus-utils/3.0.5/plexus-utils-3.0.5.jar
Downloading:
http://maven.aliyun.com/nexus/content/groups/public/org/codehaus/pl
exus/plexus-digest/1.0/plexus-digest-1.0.jar
Downloaded:
http://maven.aliyun.com/nexus/content/groups/public/org/codehaus/ple
xus/plexus-digest/1.0/plexus-digest-1.0.jar (12 KB at 35.4 KB/sec)
Downloaded:
http://maven.aliyun.com/nexus/content/groups/public/classworlds/clas
sworlds/1.1-alpha-2/classworlds-1.1-alpha-2.jar (37 KB at 99.8
KB/sec)
Downloaded:
http://maven.aliyun.com/nexus/content/groups/public/org/codehaus/ple
xus/plexus-utils/3.0.5/plexus-utils-3.0.5.jar (226 KB at 250.6
KB/sec)
[INFO] Installing C:\ojdbc5.jar to D:\java\to\local\repo\com\oracle
\ojdbc5\5.0\o
jdbc5-5.0.jar
[INFO] Installing C:\Users\MAOFAC~1\AppData\Local\Temp
\mvninstall442207812437734
0769.pom to D:\java\to\local\repo\com\oracle\ojdbc5\5.0\ojdbc5-
5.0.pom
[INFO]
---------------------------------------------------------------------
---
[INFO] BUILD SUCCESS
[INFO]
---------------------------------------------------------------------
---
[INFO] Total time: 5.374 s
[INFO] Finished at: 2017-03-13T21:10:29+08:00
[INFO] Final Memory: 10M/115M
[INFO]
---------------------------------------------------------------------
---
C:\Users\MaoFachang>
显示build success即安装成功
-DgroupId=com.oracle
-DartifactId=ojdbc5
-Dversion=5.0
指明了ojdbc5.jar的maven仓库位置。
5.做了这么多,现在可以到maven项目的本地仓库中使用ojdbc5.jar了
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc5</artifactId>
<version>5.0</version>
</dependency>
效果图如下:
在我的本地仓库中查看添加的ojdbc5.jar
这种办法过程比较麻烦,但一次配好,使用多次。用maven管理也方便。(推荐使用这种办法!!!)