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>
备注:
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本地仓库搭建。即搭建一个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>