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/

posted @ 2018-01-06 14:55  chendeming  阅读(1203)  评论(0编辑  收藏  举报