springboot引入本地jar包
springboot的jar包管理是通过maven实现的。所有jar包都可以通过maven的<dependency>标签进行依赖配置,通过本地maven仓库,或者云端maven仓库进行获取。
但是,也如项目需求一样,总有一些意外情况。例如:oracle的驱动类ojdbc6.jar就需要通过oracle授权进行获取。这就意味着,单纯地在pom.xml中配置
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>10.2.0.4.0</version>
</dependency>
这样一组标签,无法做到在项目中加入jar包。
关于这种情况,maven的开发者给我们提供了如下几条后路:
(1)自己搭建maven仓库,按照深搜算法,在由近及远的仓库中找到第一个合适的依赖包,进行下载,完成项目依赖;
(2)在项目中加入本地jar包,使用maven中jar包本地化配置的后门进行项目依赖本地化;
一、下面将以本地化方式引入oracle驱动jar包的方式作为springboot外部jar包引入的demo。(个人使用的是mavc+eclipse+spring插件环境),
步骤如下:
(1)将jar包下载到本地,找一个“安全”的路径存放,例如:/User/test/Desktop/ojdbc6.jar
(2)将jar包引入工程额外jar包
(3) 将额外的jar包配置到pom.xml中
在pom.xml中配置如下内容即可
1 <dependency> 2 <groupId>com.oracle</groupId> 3 <artifactId>ojdbc6</artifactId> 4 <version>10.2.0.4.0</version> 5 <scope>system</scope> 6 <systemPath>/Users/test/Desktop/ojdbc6.jar</systemPath> 7 </dependency>
备注:
(1)如上<scope>用于限定jar包使用范围,而<systemPath>则是用于指定本地jar包所在路径的。
(2)也可以将jar包强制放入当前服务器仓库中,这就需要安装一下maven的客户端了。方法如下:
添加本地jar有2种方式:
方式一:在maven 本地资源库里(一个存在jar的文件夹),根据pom.xml 里的goupId建文件夹,把jar包放到该文件夹下。
方法二:用mvn install 命令配, 命令例子如下:
mvn install:install -file -Dfile=/User/test/Desktop/ojdbc6.jar -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=10.2.0.4.0 -Dpackaging=jar
命令说明:
-Dfile 就是你下载的jar包的位置
-DgroupId 就是pom里对应的groupId
-DartifactId 也是pom里对应的DartifactId,也是jar包名字(-符号前面的部分),
-Dversion 就是jar包的版本(- 符号后面的部分 )
-Dpackaging=jar,资源类型为jar包
二、即在指定网络搭建本地maven仓库,然后将jar包上传。
步骤如下:
(1)maven本地仓库搭建。这个内容可以参见http://blog.csdn.net/wang379275614/article/details/43940259,即搭建一个web应用(maven本地仓库),用于存储jar包。
(2)maven仓库配置
在pom.xml中配置仓库地址http://localhost:8081/nexus_iweb/content/groups/public/即可
1 <!-- 设置云端仓库位置 --> 2 <repositories> 3 <repository> 4 <snapshots> 5 <enabled>true</enabled> 6 </snapshots> 7 <id>public</id> 8 <name>Public Repositories</name> 9 <url>http://localhost:8080/nexus_iweb/content/groups/public/</url> 10 </repository> 11 </repositories> 12 <!-- 需要发布到的位置,需要到setting中设置权限 --> 13 <distributionManagement> 14 <snapshotRepository> 15 <id>snapshots</id> 16 <name>Snapshots</name> 17 <url>http://localhost:8080/nexus_iweb/content/repositories/snapshots</url> 18 </snapshotRepository> 19 <repository> 20 <id>releases</id> 21 <name>Releases</name> 22 <url>http://localhost:8080/nexus_iweb/content/repositories/releases/</url> 23 </repository> 24 </distributionManagement>
(3)配置maven依赖(后台上传依赖就不在这里说了,在后台操作一下或者百度都能找到)
1 <dependency> 2 <groupId>com.oracle</groupId> 3 <artifactId>ojdbc6</artifactId> 4 <version>10.2.0.4.0</version> 5 </dependency>
扩展学习
oracle驱动jar包引入:https://www.cnblogs.com/wuyouwulv/p/maven_configure_oracle_jdbc.html
system包不织入:http://blog.fanmuyong.com/post/Maven%E6%89%93%E5%8C%85%E6%9E%84%E5%BB%BA%E5%AE%8C%E5%85%A8%E6%8C%87%E5%8D%97%E4%BA%8C/