maven本地仓库中添加oracle的jdbc驱动
我在使用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即安装成功
-dfile=c:/ojdbc5.jar 是指你ojdbc5.jar的文件位置
- -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管理也方便。(推荐使用这种办法!!!)
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论