springboot解决第三方jar包依赖的问题
在我们的开发中,通过会依赖第三方的jar包,而这些jar包由于还处于测试或开发阶段,并没有放到maven库中,这个时候,如果我们还按照原来spring boot的方式打包的话,第三方jar包是打不进来的,所以很多时候,我们在本地测试,开发没问题,一部署到服务器上,就报ClassNotFound异常。示例如下:
第三方jar包的引用方式:
[html] view plain copy
1.<dependency> 
2.<groupId>com.chhliu</groupId> 
3.<artifactId>chhliu-sender</artifactId> 
4.<version>1.0.2-tst</version> 
5.<scope>system</scope> 
6.<systemPath>${project.basedir}/lib/chhliu-sender-1.0.2-tst.jar</systemPath>// 第三方jar包放在工程目录的lib目录下 
7.</dependency> 
这个时候,我们要在pom文件中的build标签下加上如下的配置:
[html] view plain copy
1.<build> 
2.<plugins> 
3.<plugin> 
4.<groupId>org.springframework.boot</groupId> 
5.<artifactId>spring-boot-maven-plugin</artifactId> 
6.</plugin> 
7.</plugins> 
8.<resources> 
9.<resource>// 将lib目录下的jar包拷贝到BOOT-INF/lib/目录下 
10.<directory>${project.basedir}/lib</directory> 
11.<targetPath>BOOT-INF/lib/</targetPath> 
12.<includes> 
13.<include>**/*.jar</include> 
14.</includes> 
15.</resource> 
16.<resource>// 如果不加上这个配置,不然src/main/resource目录下的配置文件就不会打到jar包下去了 
17.<directory>src/main/resources</directory> 
18.<targetPath>BOOT-INF/classes/</targetPath> 
19.</resource> 
20.</resources> 
21.</build> 
这样的话,我们再使用mvn clean package的话,就会将lib目录下的jar包打到指定的目录中了。
如果,我们的项目要打成War包,那么我们需要修改成如下的配置文件。
[html] view plain copy
1. 
2.<plugin> 
3.<groupId>org.apache.maven.plugins</groupId> 
4.<artifactId>maven-war-plugin</artifactId> 
5.<configuration> 
6.<webResources> 
7.<resource> 
8.<directory><span >${project.basedir}/lib</span><span ></directory></span> 
9.<targetPath>WEB-INF/lib/</targetPath> 
maven打包本地jar包10.<includes> 
11.<include>**/*.jar</include> 
12.</includes> 
13.</resource> 
14.</webResources> 
15.</configuration> 
16.</plugin> 
下面,大家可以动手试下了。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。