分享

spring boot解决第三方jar包依赖的问题

 WindySky 2017-10-25 发布于广东

在我们的开发中,通过会依赖第三方的jar包,而这些jar包由于还处于测试或开发阶段,并没有放到maven库中,这个时候,如果我们还按照原来spring boot的方式打包的话,第三方jar包是打不进来的,所以很多时候,我们在本地测试,开发没问题,一部署到服务器上,就报ClassNotFound异常。示例如下:

第三方jar包的引用方式:

  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标签下加上如下的配置:

  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包,那么我们需要修改成如下的配置文件。

  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>  

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

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多