springboot打包成war包的时候把第三方jar包打到lib文件夹下和把第三方jar包打入到springBoot jar包中

深碍√TFBOYSˉ_ 2022-12-27 07:28 482阅读 0赞

抄袭:https://blog.csdn.net/qq_45554282/article/details/107762471

首先我们应该知道我们把springBoot项目打包成war包和jar包的时候分别需要何种插件

  1. 我们最常用的把springBoot打成jar包的插件是下面这样的一个插件,这是把我们的springBoot项目打包成为一个可执行jar的插件


    org.springframework.boot
    spring-boot-maven-plugin
  2. 把springBoot项目打包成一个war包的插件是下面这样的一个插件

    1. <groupId>org.apache.maven.plugins</groupId>
    2. <artifactId>maven-war-plugin</artifactId>
    3. <version>3.2.2</version>
    4. </pilugin>

这个时候我们需要知道如何把第三方jar包引入到我们的项目中去,话不多说看下面的图片。

  • 第三方jar包在项目中的目录结构,在resources 目录下建造一个lib目录,放入我们的第三方jar包。

在这里插入图片描述

  • 把这个jar包 通过 在pom.xml中进行相应的配置让我们的项目可以找到这个第三方jar包 如下图所示:
    在这里插入图片描述
    这里1,2,3步骤随便自己进行填写 主要是scope和systemPath(用来指明这个第三方jar包的路径)
    我们这里可以学习下scope的用法:
  • system
    这个意思代表这个jar包是由系统提供的,系统在本地运行编译的时候会把这个jar包编译在类路径下,但是打包的时候是不会进行打包的
  • provided
    这个意思表明这个jar包是由jdk容器 tomcate容器这些容器来提供的,比如我们最常见的servelet包,这个包tomcat服务器本身就是具有的,我们在打包的时候也不会把它打入进去
  • runtime
    这个我们在pom依赖中引入mysql驱动的jar包的时候,经常会进行一个标识,这个的作用是不会把它编译到类路径下,但是打包的时候会带上它。
    我们通常使用类的反射来使用
  • test
    一般我们在测试环境中使用被这个标识的包,也不会被打包
  • compile
    默认是这个,编译打包都会进行带入。

打war包需要我们在打war包插件中配置才可以带上第三方jar包

  1. <plugin>
  2. <groupId>org.apache.maven.plugins</groupId>
  3. <artifactId>maven-war-plugin</artifactId>
  4. <version>3.2.2</version>
  5. <configuration>
  6. <webResources>
  7. <webResource>
  8. <directory>${pom.basedir}/src/main/resources/lib/</directory>
  9. <targetPath>WEB-INF/lib/</targetPath>
  10. <includes>
  11. <include>**/*.jar</include>
  12. </includes>
  13. </webResource>
  14. </webResources>
  15. </configuration>
  16. </plugin>

把项目中lib目录下所有的jar包,打入到war包中lib文件夹下。

打jar包的时候需要我们在打jar包的插件中配置 把第三方jar包带入进去 如下图配置

  1. <plugin>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-maven-plugin</artifactId>
  4. <configuration>
  5. <includeSystemScope>true</includeSystemScope>
  6. </configuration>
  7. </plugin>

总结:我们只需要记中相应的打jar包和打war包插件就行了,配置来说更为简单

发表评论

表情:
评论列表 (有 0 条评论,482人围观)

还没有评论,来说两句吧...

相关阅读