首页 > 其他分享 >SpringBoot打包成WAR包的时候把第三方jar包打到LIB文件夹下和把第三方jar包打入到SpringBoot jar包中

SpringBoot打包成WAR包的时候把第三方jar包打到LIB文件夹下和把第三方jar包打入到SpringBoot jar包中

时间:2023-06-05 09:57:30浏览次数:49  
标签:插件 SpringBoot jar 第三方 WAR 打包

SpringBoot打包成WAR包的时候把第三方jar包打到LIB文件夹下和把第三方jar包打入到SpringBoot jar包中

转载

  1. 首先我们应该知道我们把SPRINGBOOT项目打包成WAR包和JAR包的时候分别需要何种插件
    我们最常用的把springBoot打成jar包的插件是下面这样的一个插件,这是把我们的springBoot项目打包成为一个可执行jar的插件
<plugin>
	<groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
  1. springBoot项目打包成一个war包的插件是下面这样的一个插件
<plugin>
	<groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-war-plugin</artifactId>
	<version>3.2.2</version>
</pilugin>

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

  • 第三方jar包在项目中的目录结构,在resources目录下建造一个lib目录,放入我们的第三方jar包。
    在这里插入图片描述

image

  • 把这个jar包 通过 在pom.xml中进行相应的配置让我们的项目可以找到这个第三方jar包 如下图所示: 在这里插入图片描述
    image

这里1,2,3步骤随便自己进行填写 主要是scopesystemPath(用来指明这个第三方jar包的路径) 我们这里可以学习下scope的用法:

  • system

    这个意思代表这个jar包是由系统提供的,系统在本地运行编译的时候会把这个jar包编译在类路径下,但是打包的时候是不会进行打包的

  • provided

    这个意思表明这个jar包是由jdk容器tomcate容器这些容器来提供的,比如我们最常见的servelet包,这个包tomcat服务器本身就是具有的,我们在打包的时候也不会把它打入进去

  • runtime

    这个我们在pom依赖中引入mysql驱动的jar包的时候,经常会进行一个标识,这个的作用是不会把它编译到类路径下,但是打包的时候会带上它。
    我们通常使用类的反射来使用

  • test

    一般我们在测试环境中使用被这个标识的包,也不会被打包

  • compile

    默认是这个,编译打包都会进行带入。

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

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-war-plugin</artifactId>
        <version>3.2.2</version>
        <configuration>
            <webResources>
                <webResource>
                    <directory>${pom.basedir}/src/main/resources/lib/</directory>
                    <targetPath>WEB-INF/lib/</targetPath>
                    <includes>
                        <include>**/*.jar</include>
                    </includes>
                </webResource>
            </webResources>
        </configuration>
    </plugin>
    

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

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

    <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
        <configuration>
            <includeSystemScope>true</includeSystemScope>
        </configuration>
    </plugin>
    

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

标签:插件,SpringBoot,jar,第三方,WAR,打包
From: https://www.cnblogs.com/ghostmen/p/17451248.html

相关文章

  • springboot案列
    当创建多个springboot项目在同一个文件时,注意每一个springboot项目的serverport(端口)要不一样,否则会报错;另外要注意的是:在创建的springboot目录中;其他它文件的目录必须在springboot的项目的内部,否则会找不到指定的内容,报404错误 ......
  • 手把手实现springboot整合flowable、附源码-视频教程
    手把手实现springboot整合flowable、附源码-视频教程[toc]视频教程点击:https://www.bilibili.com/video/BV1fa411j7Q5/插件安装BPMN绘图可视化工具>FlowableBPMNvisualizer导入依赖<dependency><groupid>org.springframework.boot</groupid><artifact......
  • 面试官:我们简单聊一下SpringBoot的启动流程吧。
    SpringBoot启动原理每次看到这个问题总是不能理出一条线来回答流畅,这次理出一条八股文标准答案出来。复习的时候拿出来过一过思路。如果有不合适的地方希望各位大佬指教~[源码基于springboot2.4.3]框架启动类每个SpringBoot项目都有一个标注着@SpringBootApplication注解的main启动......
  • springboot整合mybatis
    整合mybatis基础配置启动类添加@MapperScan配置文件#=================================数据库相关配置====================================spring.datasource.driver-class-name=com.mysql.jdbc.Driverspring.datasource.url=jdbc:mysql://10.1.1.1:3306/db?useUnico......
  • 利用Ant与Proguard混淆引用的子工程项目jar包及打war包
    当前的web项目有引用到子工程项目,而且多个子工程项目也有引用到其它的工程项目,现要求利用Ant自动将web项目打包成war包,其中引用到的子工程项目需打成jar包,而且必须是混淆后的jar包。其中混淆代码的工具选择了开源的Proguard([url]http://proguard.sourceforge.net/[/url]),可以运行p......
  • 【视频】SpringBoot为啥到了不学不行的阶段
    Spring常用注解redis视频集合,看完这些别说不会redis01-SpringBoot视频教程_SpringBoot简介.rar02-SpringBoot视频教程_SpringBoot主要特性.rar03-SpringBoot视频教程_SpringBoot四大核心功能.rar04-SpringBoot视频教程_SpringBoot基础开发环境.rar05-SpringBoot视频教程_SpringBoot......
  • 如何把jar发布到中央仓库
    1、在网站https://issues.sonatype.org/secure/Dashboard.jspa注册一个账号(请记住对应的账号和密码,之后需要用到)此外,Sonatype还提供了一个名为OSS的系统,具体的构件发布是在这个oss系统上,SonatypeOSS地址:https://oss.sonatype.org这里的用户名和密码就是上面在JIRA中注册的,在这......
  • 搭建一个属于自己的springboot项目
    一、确定环境最近公司要上个新系统,指定由我来带两个人进行开发,既然是新项目,那么项目搭建的事就落到我的头上了。现在都是使用springboot进行开发,为此我搭环境使用的是springboot,具体java环境如下,使用springboot的版本是2.3.3.RELEASE。使用maven进行项目管理,总结下,我使用到的......
  • JAVA的springboot+vue医疗预约服务管理信息系统,医院预约管理系统,附源码+数据库+论文+P
    1、项目介绍会员制医疗预约服务管理信息系统是针对会员制医疗预约服务管理方面必不可少的一个部分。在会员制医疗预约服务管理的整个过程中,会员制医疗预约服务管理系统担负着最重要的角色。为满足如今日益复杂的管理需求,各类的管理系统也在不断改进。本课题所设计的是会员制医疗......
  • SpringBoot 使用事务报错:No transaction aspect-managed TransactionStatus in scope
    当使用SpringBoot进行开发时,你可能会遇到以下错误之一:“Notransactionaspect-managedTransactionStatusinscope”。这个错误通常发生在方法中手动回滚事务的情况下,但方法本身没有被@Transactional注解修饰。在本文中,我们将深入探讨这个错误的原因以及如何解决它。我们将提供......