spring boot解决第三方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. <!--设置maven-war-plugins插件,否则外部依赖无法打进war包-->  
  2.       <plugin>  
  3.         <groupId>org.apache.maven.plugins</groupId>  
  4.         <artifactId>maven-war-plugin</artifactId>  
  5.         <configuration>  
  6.           <webResources>  
  7.             <resource>  
  8.               <directory><span style="font-family: Arial, Helvetica, sans-serif;">${project.basedir}/lib</span><span style="font-family: Arial, Helvetica, sans-serif;"></directory></span>  
  9.               <targetPath>WEB-INF/lib/</targetPath>  
  10.               <includes>  
  11.                 <include>**/*.jar</include>  
  12.               </includes>  
  13.             </resource>  
  14.           </webResources>  
  15.         </configuration>  
  16.       </plugin>  




下面,大家可以动手试下了。



转自:http://blog.csdn.net/liuchuanhong1/article/details/77097590

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值