Spring Boot项目打war包(idea:多种方式)

简介: Spring Boot项目打war包(idea:多种方式)

Spring Boot项目打war包(idea:多种方式)

前言:在idea中,经常会对web项目进行打jar包或者war包。jar包在Java环境中运行,war包在Tomcat服务器中跑。对于打war包有多种方式,一下介绍3钟方式。

打jar包参考:maven 打jar包:mvn clean package

方式一:使用maven工具直接打包:

(几个关键点图中已经标出)


方式二:使用打包命令:mvn clean package

一、修改pom.xml文件将默认的jar方式改为war:

<!--默认为jar方式-->
<!--<packaging>jar</packaging>-->
<!--改为war方式-->
<packaging>war</packaging>

二.修改pom.xml,添加外部Tomcat依赖配置(两种方式均可):

(本人使用第一种)
 

1.添加依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
    <scope>provided</scope>
</dependency>

2.排除spring-boot-starter-web中的Tomcat

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <exclusions>
        <exclusion>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
        </exclusion>
    </exclusions>
</dependency>

三、继承SpringBootServletInitializer,实现configure方法(两种方式均可):

1.新增加一个类继承SpringBootServletInitializer实现configure:

public class ServletInitializer extends SpringBootServletInitializer {
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        //此处的Application.class为带有@SpringBootApplication注解的启动类
        return builder.sources(UserApplication.class);
    }
}

2.启动类继承SpringBootServletInitializer实现configure:

@SpringBootApplication
public class UserApplication extends SpringBootServletInitializer {
    public static void main(String[] args) {
        SpringApplication.run(UserApplication.class, args);
    }
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(UserApplication.class);
    }
}

四、使用mvn clean package打包

在cmd中,先把命令行切换到Maven项目的根目录,如:D:\微服务架构\ch3 ,执行打包命令:

clean是清除之前的包,-Dmaven.test.skip=true是忽略测试代码
mvn clean package -Dmaven.test.skip=true

方式三:手动打包:

(在这里手动打包,具体略)

相关文章
|
1天前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp小程序的箱包存储系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp小程序的箱包存储系统附带文章源码部署视频讲解等
13 5
|
1天前
|
安全 Java 数据库连接
Spring Boot + Security + MyBatis + Thymeleaf + Activiti 快速开发平台项目
Spring Boot + Security + MyBatis + Thymeleaf + Activiti 快速开发平台项目
12 0
|
4天前
|
Java Serverless 应用服务中间件
Serverless 应用引擎产品使用合集之Web函数启动的Spring Boot项目可以通过什么方式配置Nginx
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
10天前
|
JSON 前端开发 Java
Spring第一课,了解IDEA里面的文件,回顾Cookie和Session,获取Session,Cookie,Header的方式
Spring第一课,了解IDEA里面的文件,回顾Cookie和Session,获取Session,Cookie,Header的方式
|
10天前
|
Java Spring
idea Spring-boot 项目debug启动过慢 spring debug启动过慢解决办法:已解决
idea Spring-boot 项目debug启动过慢 spring debug启动过慢解决办法:已解决
|
23天前
|
Java Maven Windows
小唐开始学 Spring Boot——(1)IDEA 2021.3.2和Maven的安装配置
小唐开始学 Spring Boot——(1)IDEA 2021.3.2和Maven的安装配置
|
29天前
|
前端开发 Java 关系型数据库
使用IDEA搭建一个Spring + AOP (权限管理 ) + Spring MVC
使用IDEA搭建一个Spring + AOP (权限管理 ) + Spring MVC
|
29天前
|
消息中间件 Java 数据安全/隐私保护
Spring Cloud 项目中实现推送消息到 RabbitMQ 消息中间件
Spring Cloud 项目中实现推送消息到 RabbitMQ 消息中间件
|
XML Java 数据格式
spring添加包扫描的方式
spring添加包扫描的方式
|
1月前
|
Java 应用服务中间件 Maven
SpringBoot 项目瘦身指南
SpringBoot 项目瘦身指南
78 0