前言:
Oracle的驱动包是收费的,所以在中央仓库中无法找到,但是我本地安装了oracle11g,因此我直接使用oracle_home下的odjbc6.jar进行本次实验操作即可。
配置nexus仓库:
添加一个maven(hosted)类型的仓库,并命名为“nexus-3rd-party”,以后该仓库专门用于存放中央仓库无法下载的jar,用于存储自研,或者第三方jar包;配置完毕后,将该仓库引入到maven-public组中,客户端配置连接的是maven-puublic组
配置本地maven的confg.xml配置文件:
注意ID要和nexus中配置的仓库唯一名称保持一致
下载并将本地的odbc6.jar包安装远程仓库:
前提,确保这个文件存在:D:\oracleDB\product\11.2.0\dbhome_1\jdbc\lib\ojdbc6.jar
使用命令(执行该命令,不能在D:\oracleDB\product\11.2.0\dbhome_1\jdbc\lib\下执行,否则会报错):
mvn deploy:deploy-file -DgroupId=com.oracle -DartifactId=ojdbc14 -Dversion=11.2.0.4.0 -Dpackaging=jar -Dfile=D:\oracleDB\product\11.2.0\dbhome_1\jdbc\lib\ojdbc6.jar -Durl=http://localhost:8081/repository/maven-3rd-party/ -DrepositoryId=nexus-3rd-party
本地引入测试:
com.oracle
ojdbc14
11.2.0.4.0
update project一下,会自动从中央仓库中下载对应的jar包
上传结果:
~~~~~~~~~~~至此试验结束
拓展:
将Oracle的驱动包安装到本地仓库,使用命令
mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc14 -Dversion=11.2.0.4.0 -Dpackaging=jar -Dfile=D:\oracleDB\product\11.2.0\dbhome_1\jdbc\lib\ojdbc6.jar
注意:上面的操作不能在有pom文件的路径下操作,否则会出现如下错误
常见问题总结:
问题1:
提示我当前目录没有pom文件,处理办法,在jar包所在路径下任意放上一个pom文件,重新安装,然后又遇到下面这个问题
提示我 nexus仓库不允许更新,修改远程仓库设置解决
重新安装后,又遇到下面的问题
看着像是没有识别我的命令,于是我在值的左右都加了双引号,命令修改为:
mvn clean deploy:deploy-file -DgroupId="com.microsoft.sqlserver" -DartifactId="sqljdbc4" -Dversion="4.2" -Dp
ackaging="jar" -Dfile="E:\data\sqljdbc42.jar" -Durl="http://192.168.0.153:8088/repository/maven-3rd-party/" -Drepository
Id="maven-3rd-party"
最后安装成功。
在eclipse中引入pom依赖时遇到如下错误,并且确认中央仓库在前面的步骤中已经将jar包上传上去了,但是eclipse中install项目总是提示下载不到jar包:
问题的原因在于,事先这个jar包在中央仓库中还不存在,但是我在项目中引入的pom依赖,并install项目,此时肯定会下载失败,但是本地的仓库中确实已经生成了xxx.lastUpdated文件,于是将本地仓库中这个下载失败的jar目录删除,重新update project后,中央仓库中的jar包可以下载到本地(原理应该是,maven在去校验本地和中央仓库时候根据本地仓库是否有对应jar的目录,如果有,就不会去中央仓库下载了)