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

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

首先:配置maven环境变量

新建系统变量

MAVEN_HOME
 E:\JDK\mave\apache-maven-3.8.4

SpringBoot打包的两种方式 - jar方式 和 war 方式_第1张图片

在Path写入%MAVEN_HOME%\bin

SpringBoot打包的两种方式 - jar方式 和 war 方式_第2张图片

jar 方式

执行 mvn install 命令开始打包

SpringBoot打包的两种方式 - jar方式 和 war 方式_第3张图片

生成的文件在target
SpringBoot打包的两种方式 - jar方式 和 war 方式_第4张图片
SpringBoot打包的两种方式 - jar方式 和 war 方式_第5张图片

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

在这里插入图片描述

命令为:

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

SpringBoot打包的两种方式 - jar方式 和 war 方式_第6张图片

war 方式

首先:将打包方式改为 War

SpringBoot打包的两种方式 - jar方式 和 war 方式_第7张图片

解决 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>

解决无 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);
    }

}

创建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

你可能感兴趣的:(#,JAVA,后端,spring,boot,jar,java)