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

来源:互联网 发布:有没有写真软件 编辑:程序博客网 时间:2024/05/16 19:48

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

第三方jar包的引用方式:

<dependency><groupId>com.chhliu</groupId><artifactId>chhliu-sender</artifactId><version>1.0.2-tst</version><scope>system</scope><systemPath>${project.basedir}/lib/chhliu-sender-1.0.2-tst.jar</systemPath>// 第三方jar包放在工程目录的lib目录下</dependency>

这个时候,我们要在pom文件中的build标签下加上如下的配置:

<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins><resources><resource>// 将lib目录下的jar包拷贝到BOOT-INF/lib/目录下<directory>${project.basedir}/lib</directory><targetPath>BOOT-INF/lib/</targetPath><includes><include>**/*.jar</include></includes></resource><resource>// 如果不加上这个配置,不然src/main/resource目录下的配置文件就不会打到jar包下去了<directory>src/main/resources</directory><targetPath>BOOT-INF/classes/</targetPath></resource></resources></build>

这样的话,我们再使用mvn clean package的话,就会将lib目录下的jar包打到指定的目录中了。

如果,我们的项目要打成War包,那么我们需要修改成如下的配置文件。

<!--设置maven-war-plugins插件,否则外部依赖无法打进war包-->      <plugin>        <groupId>org.apache.maven.plugins</groupId>        <artifactId>maven-war-plugin</artifactId>        <configuration>          <webResources>            <resource>              <directory>${project.basedir}/lib</directory>              <targetPath>WEB-INF/lib/</targetPath>              <includes>                <include>**/*.jar</include>              </includes>            </resource>          </webResources>        </configuration>      </plugin>

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

阅读全文
0 0
原创粉丝点击