• SpringBoot打包的两种方式 - jar方式 和 war 方式


    SpringBoot打包的两种方式 - jar方式 和 war 方式

    首先:配置maven环境变量

    新建系统变量

    MAVEN_HOME
     E:\JDK\mave\apache-maven-3.8.4
    
    • 1
    • 2

    在这里插入图片描述

    在Path写入%MAVEN_HOME%\bin

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-syOAzzJ5-1660649733301)(C:\Users\飞\AppData\Roaming\Typora\typora-user-images\image-20220816191237728.png)]

    jar 方式

    执行 mvn install 命令开始打包

    在这里插入图片描述

    生成的文件在target
    在这里插入图片描述
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4EC8s8tk-1660649841912)(C:\Users\飞\AppData\Roaming\Typora\typora-user-images\image-20220816191509732.png)]

    运行打包好的 jar 包:地址为绝对地址

    在这里插入图片描述

    命令为:

    java -jar F:\新建文件夹\HQYJ-git\learning-spring-boot\sprtingboot\target\sprtingboot-0.0.1-SNAPSHOT.jar
    
    • 1

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NfXNr2d1-1660649733307)(C:\Users\飞\AppData\Roaming\Typora\typora-user-images\image-20220816190937879.png)]

    war 方式

    首先:将打包方式改为 War

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eFhgiCS9-1660649733308)(C:\Users\飞\AppData\Roaming\Typora\typora-user-images\image-20220816191909901.png)]

    解决 Tomcat Jar 冲突的问题

    Pom 引入 spring-boot-starter-tomcat,设置 scope 为 provided,只在编译和测试阶段起作用,打包时候做了 Exclude 操作,使用外置 Tomcat 相关 Jar;

    
    
    <dependency>
        <groupId>org.springframework.bootgroupId>
        <artifactId>spring-boot-starter-tomcatartifactId>
        <scope>providedscope>
    dependency>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    解决无 web.xml 的问题

    package com.feiyu.sprtingboot;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.boot.builder.SpringApplicationBuilder;
    import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
    
    @SpringBootApplication
    public class Application extends SpringBootServletInitializer{
        @Override
        protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
            return  builder.sources(Application.class);
    //        return super.configure(builder);
        }
    
        public static void main(String[] args) {
            SpringApplication.run(Application.class, args);
        }
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    创建war 包

    1. 执行 mvn clean package 命令
    2. 重命名 war 包,例如spring.war
    3. 放在tomcat的webapps文件夹中
    4. 运行startup.bat
    5. 在http://127.0.0.1:8080+项目名称(pring.war)/+你的test/helloWorld
  • 相关阅读:
    Kafka RecordAccumulator 一
    Java学习:动态代理
    【论文阅读】Foundations of Dynamic BFT --- IEEE S&P ‘22
    死磕solidity之编写可升级合约
    MySQL 事务隔离级别 理论+实战分析
    MySQL占用内存过大解决方案
    Linux O_CLOEXEC
    最新Java面试八股文考题答案梳理,不可多得的Java面试真题解析资料,秋招临时抱佛脚?那也得抱对才行
    C语言 ——宽字符
    Java:实现动态数组类算法(附完整源码)
  • 原文地址:https://blog.csdn.net/qq_53886038/article/details/126372948