引言
项目需要用到第三方的jar包,本地运行正常,打包发布生产环境的时候程序内存溢出,最后发现是对应的第三方包没有引入war包中,特此记录。
本地IDEA运行
首先将需要使用的第三方jar包放在/resources/lib目录下
pom文件中引入该依赖,记得刷新maven
<!-- 第三方包-->
<dependency>
<groupId>xxx</groupId> <!--自定义起名-->
<artifactId>xxx</artifactId> <!--自定义起名-->
<version>1.1</version> <!--自定义版本号-->
<scope>system</scope>
<systemPath>${basedir}/src/main/resources/lib/xxx.jar</systemPath> <!--目录路径-->
</dependency>
打包jar包
spring-boot-maven-plugin 中 做如下添加
代表 maven 打包时会将外部引入的 jar 包打包到jar包中
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<includeSystemScope>true</includeSystemScope>
</configuration>
</plugin>
打包war包
在以上基础上再做如下配置
maven-war-plugin 中 做如下配置
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<webResources>
<resource>
<directory>src/main/resources/lib</directory>
<targetPath>WEB-INF/lib/</targetPath>
<includes>
<include>**/*.jar</include>
</includes>
</resource>
</webResources>
</configuration>
</plugin>