SpringBoot系列教材 (四)- 基础 - 用war的方式部署springboot项目

 

步骤1:部署方式
步骤2:可运行项目
步骤3:Application
步骤4:pom.xml
步骤5:创建war包
步骤6:重命名 war 包,然后部署
步骤7:启动并测试

步骤 1 : 部署方式

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

步骤 2 : 可运行项目

开发过程在前面的知识点讲解过了,这里就不表了,首先在下载区(点击进入)下载可运行项目。
下载后解压,比如解压到如图所示目录

SpringBoot系列教材 (四)- 基础 - 用war的方式部署springboot项目

步骤 3 : Application

Application 修改为如下代码
新加@ServletComponentScan注解,并且继承SpringBootServletInitializer 。
为什么要这么改? 这是规定。。。。 要搞成war ,反正就得这么改~

package com.how2java.springboot;

 

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

import org.springframework.boot.builder.SpringApplicationBuilder;

import org.springframework.boot.web.servlet.ServletComponentScan;

import org.springframework.boot.web.support.SpringBootServletInitializer;

 

@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 只在编译和测试的时候使用,打包的时候就没它了。

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

    <modelVersion>4.0.0</modelVersion>

 

  <groupId>com.how2java</groupId>

  <artifactId>springboot</artifactId>

  <version>0.0.1-SNAPSHOT</version>

  <name>springboot</name>

  <description>springboot</description>

  <packaging>war</packaging>

   

    <parent>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-parent</artifactId>

        <version>1.5.9.RELEASE</version>

    </parent>

 

    <dependencies>

        <dependency>

            <groupId>org.springframework.boot</groupId>

            <artifactId>spring-boot-starter-web</artifactId>

        </dependency>

        <dependency>

            <groupId>org.springframework.boot</groupId>

            <artifactId>spring-boot-starter-tomcat</artifactId>

        <scope>provided</scope>            

        </dependency>

        <dependency>

              <groupId>junit</groupId>

              <artifactId>junit</artifactId>

              <version>3.8.1</version>

              <scope>test</scope>

        </dependency>

    </dependencies>

 

    <properties>

        <java.version>1.8</java.version>

    </properties>

 

    <build>

        <plugins>

            <plugin>

                <groupId>org.springframework.boot</groupId>

                <artifactId>spring-boot-maven-plugin</artifactId>

            </plugin>

        </plugins>

    </build>

 

</project>

步骤 5 : 创建war包

cd C:\Users\X7TI\Downloads\springboot

mvn clean package


这样就在 target 目录下 生成了一个 springboot-0.0.1-SNAPSHOT.war 文件

SpringBoot系列教材 (四)- 基础 - 用war的方式部署springboot项目

步骤 6 : 重命名 war 包,然后部署

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

注:没有tomcat的同学可以在下载区(点击进入)下载。
注: ROOT.war 并不是指访问的时候要使用 /ROOT/hello ,而是直接使用/hello 进行访问,ROOT表示根路径。

SpringBoot系列教材 (四)- 基础 - 用war的方式部署springboot项目

步骤 7 : 启动并测试

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

http://127.0.0.1:8080/hello

SpringBoot系列教材 (四)- 基础 - 用war的方式部署springboot项目


更多内容,点击了解: https://how2j.cn/k/springboot/springboot-war/1655.html