用WAR的方式部署SPRINGBOOT项目

 步骤 1 : 部署方式

Springboot 和我们之前学习的web 应用程序不一样,其本质上是一个 Java 应用程序,那么又如何部署呢?
通常来说,Springboot 部署会采用两种方式:全部打包成一个jar,或者打包成一个war。
本知识点讲解 war 的方式。
 
 步骤 2 : 可运行项目

开发过程在前面的知识点讲解过了,这里就不表了,首先在右上角下载可运行项目。
下载后解压,比如解压到如图所示目录
可运行项目
 
步骤 3 : Application

Application 修改为如下代码
新加@ServletComponentScan注解,并且继承SpringBootServletInitializer 。
为什么要这么改? 这是规定。。。。 要搞成war ,反正就得这么改~
@SpringBootApplication
@ServletComponentScan
public class Application extends SpringBootServletInitializer {
 
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(Application.class);
    }
 
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}
 
 步骤 4 : pom.xml

pom.xml修改为如下代码,主要两个改动
新加打包成war的声明:
 
<packaging>war</packaging>
 

spring-boot-starter-tomcat修改为 provided方式,以避免和独立 tomcat 容器的冲突.
表示provided 只在编译和测试的时候使用,打包的时候就没它了。
<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
        <scope>provided</scope>           
        </dependency>
 
 步骤 5 : 创建war包

 
cd C:\Users\X7TI\Downloads\springboot
mvn clean package
 

这样就在 target 目录下 生成了一个 springboot-0.0.1-SNAPSHOT.war 文件
创建war包
 
 步骤 6 : 重命名 war 包,然后部署

如果用 springboot-0.0.1-SNAPSHOT.war 这个文件名部署,那么访问的时候就要在路径上加上springboot-0.0.1-SNAPSHOT。 所以把这个文件重命名为 ROOT.war
然后把它放进tomcat 的webapps目录下。

注:没有tomcat的同学可以在右上角下载。
注: ROOT.war 并不是指访问的时候要使用 /ROOT/hello ,而是直接使用/hello 进行访问,ROOT表示根路径。
重命名 war 包,然后部署
 
步骤 7 : 启动并测试

运行tomcat下的 bin目录里的startup.bat, 然后就可以启动了. 启动后访问如下地址测试:
 
http://127.0.0.1:8080/hello
 
启动并测试

参考链接:https://how2j.cn/k/springboot/springboot-war/1655.html#nowhere

 

版权申明:内容来源网络,版权归原创者所有。除非无法确认,都会标明作者及出处,如有侵权,烦请告知,我们会立即删除并致歉!

 

 

                     微信扫一扫 关注公众号

       

posted on 2022-07-06 10:45  记录美好瞬间  阅读(812)  评论(0编辑  收藏  举报