SpringBoot项目打包方式修改成war包

首先在pom.xml中排除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>

然后在依赖中添加tomcat依赖:

指定打包时不用包含进去

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
              <!--打包的时候可以不用包进去-->
            <scope>provided</scope>
        </dependency>

在pom.xml文件中将默认的jar方式改为war

    <groupId>com.rems</groupId>
    <artifactId>rems</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <!--默认为jar方式-->
    <!--<packaging>jar</packaging>-->
    <!--改为war方式-->
    <packaging>war</packaging>

然后在build 标签内添加:< finalName > war包名称 < /finalName > 标签,war包名称可以是你的项目名
是为了防止应用上下文所导致的项目访问资源加载不到的问题,
在这里插入图片描述

修改启动类:让启动类继承SpringBootServletInitializer 类,并重写里面的 configure 方法:

@SpringBootApplication
@MapperScan("com.rems.mapper")
@EnableTransactionManagement
@Slf4j
public class RemsMain extends SpringBootServletInitializer {
    public static void main(String[] args) {
        SpringApplication.run(RemsMain.class, args);
       log.info("项目启动成功");
    }
    /**
     * @Description: 工程打成war需要继承SpringBootServletInitializer,重写configure方法
     * @Param: [builder]
     * @return: org.springframework.boot.builder.SpringApplicationBuilder
     * @Author: chenhu
     * @Date: 2021/5/12
     */
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(RemsMain.class);
    }
}

在这里插入图片描述

然后即可使用maven进行install打包,当然打包前先clean一下;

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将 Spring Boot 项目打包 WAR 文件并运行,您需要执行以下步骤: 1. 修改 pom.xml 文件,将 packaging 标签的值从 jar 改为 war: ```xml <packaging>war</packaging> ``` 2. 将 SpringBootServletInitializer 类添加到您的项目中。这个类是由 Spring Boot 提供的,它允许您将 Spring Boot 应用程序部署到 Servlet 容器中。如果您的项目已经含了这个类,就不需要再添加了。 ```java import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; public class ServletInitializer extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(Application.class); } } ``` 3. 执行 mvn package 命令来构建 WAR 文件。构建完后,WAR 文件将会在 target 目录下生。 ```bash mvn package ``` 4. 将 WAR 文件部署到 Servlet 容器中。您可以使用 Tomcat、Jetty 等 Servlet 容器运行您的应用程序。将 WAR 文件复制到 Servlet 容器的 webapps 目录下即可。 5. 启动 Servlet 容器。您可以使用 Servlet 容器的启动脚本来启动容器。例如,如果您使用的是 Tomcat,可以运行以下命令启动 Tomcat: ```bash cd /path/to/tomcat/bin ./catalina.sh run ``` 6. 访问应用程序。一旦 Servlet 容器启动,您就可以通过浏览器访问您的应用程序。默认情况下,应用程序将在 http://localhost:8080/ 上运行。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值