1.问题:

        前几天将SpringBoot Maven项目打包,总会报错,提示缺少相应的包,老是打包不成功

2.原因:

       Maven项目想要打包SpringBoot项目,需要在pom.xml中进行配置一波,否则会过滤掉lib

3.解决方法

         3.1    在自己工程目录下新建一个lib文件夹,再将自己需要的jar包塞进去,如图:

                                                     

SpringBoot Maven项目打包解决引入jar包的问题_pom.xml配置

        3.2.配置pom.xml

                      如图:

                               第一步

                                      

SpringBoot Maven项目打包解决引入jar包的问题_pom.xml配置_02

<!--避免打包时与tomcat容器冲突-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>

                              第二步:添加maven打包插件

                               

SpringBoot Maven项目打包解决引入jar包的问题_maven_03

<!--添加maven插件-->
<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
</dependency>

                             第三步:将jar包放成依赖使用,先要开启允许构建时候引入jar文件,配置build如图:

                   

SpringBoot Maven项目打包解决引入jar包的问题_maven_04

     

<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<includeSystemScope>true</includeSystemScope>
</configuration>
</plugin>
</plugins>
<resources>
<resource>
<directory>lib</directory>
<targetPath>BOOT-INF/lib/</targetPath>
<includes>
<include>**/*.jar</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<targetPath>BOOT-INF/classes/</targetPath>
</resource>
</resources>
</build>

                                  第四步:引入jar包作为依赖:比如依赖lib的lucene-queryparser-6.3.0.jar

SpringBoot Maven项目打包解决引入jar包的问题_maven_05

<dependency>
<!--groupId随意填写,其他引入时候会自动匹配版本-->
<groupId>aaa</groupId>
<artifactId>aliyun-java-sdk-core</artifactId>
<version>3.2.2</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/lucene-analyzers-smartcn-6.3.0.jar</systemPath>
</dependency>

                 其他引入同理,应该有通配引入方法引入多个或者整个lib,但是个人尝试没有成功,如有解决方法,可以交流