1.问题:
前几天将SpringBoot Maven项目打包,总会报错,提示缺少相应的包,老是打包不成功
2.原因:
Maven项目想要打包SpringBoot项目,需要在pom.xml中进行配置一波,否则会过滤掉lib
3.解决方法
3.1 在自己工程目录下新建一个lib文件夹,再将自己需要的jar包塞进去,如图:
3.2.配置pom.xml
如图:
第一步
<!--避免打包时与tomcat容器冲突-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
第二步:添加maven打包插件
<!--添加maven插件-->
<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
</dependency>
第三步:将jar包放成依赖使用,先要开启允许构建时候引入jar文件,配置build如图:
<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
<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,但是个人尝试没有成功,如有解决方法,可以交流