Spring boot如何引入本地jar包?

96
SimpleEasy
7.3 2019.03.17 12:26 字数 495

        在开发过程中有时会用到maven仓库里没有的jar包或者本地的jar包,这时没办法通过pom直接引入,那么该怎么解决呢?一般有两种方法。1,将本地jar包安装在本地maven库 ;2,将本地jar包放入项目目录中。本文主要讲第二种方式,这又分两种情况,一种是打包jar包,第二种是打包war包

一,打包jar包

先看看jar包的结构,打包后jar包的路径在BOOT-INF\lib目录下,依赖的所有jar包都在此目录中,如下图所示。

jar包在Spring boot jar包中的位置

首先,在项目目录中resources下创建文件夹jar用来存放本地jar包,如下图所示。

在resource目录下创建jar文件夹放入第三方jar包

第二、pom文件中加入如下内容,以添加json-lib-2.3-jdk15.jar为例。

  <dependency>           

             <groupId>com.ckfinder</groupId>           

             <artifactId>json-lib</artifactId>         

               <version>2.3</version>          

              <scope>system</scope>          

              <systemPath>${project.basedir}/src/main/resources/jar/json-lib-2.3-jdk15.jar</systemPath>       

 </dependency>

注意,groupId,artifactId,version可随便写,这时候在项目中运行是没问题了,但是使用命令mvn clean package打包之后BOOT-INF\lib里面并没有json-lib-2.3-jdk15.jar包,还需要pom文件中做如下配置:

      <plugin>           

             <groupId>org.springframework.boot</groupId>         

               <artifactId>spring-boot-maven-plugin</artifactId>           

                 <configuration>

                        <includeSystemScope>true</includeSystemScope>

                   </configuration>         

   </plugin>

注意粗体部分的配置,之后再使用mvn clean package打包就可以了。

二,war包

相对与jar包,第三方jar包在war包中的目录如下图所示:

jar包在war包中的位置

使用mvn clean package命令打包时需要在pom文件加入以下内容

   <plugin>                 

       <groupId>org.apache.maven.plugins</groupId>             

       <artifactId>maven-war-plugin</artifactId>                

        <version>2.4</version>                

                    <configuration>                        

                            <webResources>                       

                                     <resource>                           

                                         <directory>src/main/resources/jar/</directory>                      

                                          <targetPath>WEB-INF/lib/</targetPath>                         

                                           <includes>                               

                                                 <include>**/*.jar</include>                        

                                           </includes>                          

                                      </resource>                   

                             </webResources>              

                  </configuration>            

 </plugin>

随笔
Gupao