首页 > 其他分享 >如何将spring boot项目打包成war包

如何将spring boot项目打包成war包

时间:2023-06-01 22:32:43浏览次数:35  
标签:xml tomcat spring boot Application war 打包


一、修改打包形式

在pom.xml里设置 <packaging>war</packaging>

 

 

二、移除嵌入式tomcat插件

在pom.xml里找到spring-boot-starter-web依赖节点,在其中添加如下代码,

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <!-- 移除嵌入式tomcat插件 -->
    <exclusions>
        <exclusion>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
        </exclusion>
    </exclusions>
</dependency>

三、添加servlet-api的依赖

下面两种方式都可以,任选其一

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.1.0</version>
    <scope>provided</scope>
</dependency>

<dependency>
    <groupId>org.apache.tomcat</groupId>
    <artifactId>tomcat-servlet-api</artifactId>
    <version>8.0.36</version>
    <scope>provided</scope>
</dependency>

四、修改启动类,并重写初始化方法

我们平常用main方法启动的方式,都有一个App的启动类,代码如下:

@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

我们需要类似于web.xml的配置方式来启动spring上下文了,在Application类的同级添加一个SpringBootStartApplication类,其代码如下:

/**
 * 修改启动类,继承 SpringBootServletInitializer 并重写 configure 方法
 */
public class SpringBootStartApplication extends SpringBootServletInitializer {

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        // 注意这里要指向原先用main方法执行的Application启动类
        return builder.sources(Application.class);
    }
}

五、打包部署

在项目根目录下(即包含pom.xml的目录),在命令行里输入:
mvn clean package -Dmaven.test.skip=true即可, 等待打包完成,出现[INFO] BUILD SUCCESS即为打包成功。

如何将spring boot项目打包成war包_spring

 

然后把target目录下的war包放到tomcat的webapps目录下,启动tomcat,即可自动解压部署。
最后在浏览器中输入

http://localhost:[端口号]/[打包项目名]/

发布成功

标签:xml,tomcat,spring,boot,Application,war,打包
From: https://blog.51cto.com/u_14671216/6398513

相关文章

  • IDEA 创建JavaWeb项目(不依赖 springboot)手动整合 SSM框架
    目录 1.创建一个Maven项目2.创建webapp和WEB-INF目录即可3.设置web.xml文件和web文件目录4.导入相关ssm框架的pom依赖文件5.创建对应的包结构:6.添加配置文件(配置mybatis、spring、springMvc等配置文件)7.web.xml配置文件8. 配置本地Tomcat运行9.打包发布1.创建一个Mav......
  • SMU Spring 2023 Contest Round 4(第 21 届上海大学程序设计联赛 春季赛)
    A.Antiamunywantstolearnbinarysearch签到题.#include<map>#include<set>#include<cmath>#include<queue>#include<stack>#include<cstdio>#include<vector>#include<climits>#include<......
  • 基于JAVA的springboot+vue财务管理系统,附源码+数据库+论文+PPT
    1、项目介绍随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,各行各业相继进入信息管理时代,财务管理系统就是信息时代变革中的产物之一。任何系统都要遵循系统设计的基......
  • WARNING: An illegal reflective access operation has occurred
    问题描述问题原因JDK9之后的版本,模块不能通过反射访问非公有的成员、成员方法和构造方法解决方法降低JDK版本......
  • SpringBoot SSM vue 在线办公系统
    SpringBootSSMvue在线办公系统系统功能登录忘记密码首页统计分析用户管理员工管理公告管理考勤管理绩效管理薪酬管理流程管理留言管理文件管理开发环境和技术开发语言:Java使用框架:SpringBoot或SSM +Mybatis+MysqlSpringBoot是一个用于构建Java应用......
  • 【SpringTask】
    SpringTask是Spring框架提供的任务调度工具,可以按照约定的时间自动执行某个代码逻辑。作用:定时自动执行某段Java代码应用场景:信用卡每月还款提醒 强调:只要是需要定时处理的场景,都可以使用SpringTask。......
  • 企业级springboot项目架构模板V3.0,开箱即用
    此次3.0更新点:1.加入文件服务(quick-storage)功能支持OSS、FTP存储(该服务支持以SDK的方式引入)2.修复sentinel因path路径问题导致流控失效问题3.修复word模板生成PDF文件工具类时首次生成时,图片生成没有成功写入FTP的问题,原因为临时文件路径问题。4.修改部分类的包路径5.auth服......
  • springBoot service 事务注解@Transactional不起作用的解决
    在springBoot使用事物时,发现事务并没有正常执行,没有进行回滚@Transactionalpublicvoidadd(StringcompanyName,Stringname)throwsMyException{ companyDao.add(companyName);try{ userDao.addUser(name);}catch(DuplicateKeyExceptione){//......
  • 企业级springboot项目架构模板V1.0,开箱即用
    项目地址:https://gitee.com/liujinxin_ark/quick-template/releases项目问题可在评论中留言,项目持续更新中…quick-template项目介绍软件架构quick-auth-serve工程quick-log-serve工程quick-common工程quick-config工程quick-base-serve工程quick-web-serve工程control目......
  • springboot多模块打包配置问题
    工程案例结构: -baidu//聚合过程   -baidu_web     //子模块web工程   -baidu_service//子模块   -baidu_config//子模块配置工程  注意事项(配置步骤):1.baidu聚......