SpringBoot框架基础 - 用war的方式运行springboot项目

步骤 1 : 部署方式 - war

Springboot 和 web 应用程序不一样,其本质上是一个 Java 应用程序,那么又如何部署呢?
通常来说,Springboot 部署会采用两种方式:全部打包成一个jar,或者打包成一个war。

步骤 2 : 可运行项目

首先下载一个简单的可运行项目作为演示:网盘链接https://www.90pan.com/b1868840

下载后解压,比如解压到 E:\project\springboot 目录下

步骤 3 : Application

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

package com.ryan.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.ryan</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包

打开cmd 输入

cd E:\project\springboot
mvn clean package

:E:\project\springboot 为项目的存放目录
:window 系统下切换到 E盘 直接输入 E: 即可
这样就在 target 目录下 生成了一个 springboot-0.0.1-SNAPSHOT.war 文件

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

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

步骤 7 : 启动并测试

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

http://127.0.0.1:8080/my/hello

更多 springboot 部署 详细内容,点击了解: http://t.cn/A62lP00G

posted @ 2020-04-26 11:34  梦却了无影踪  阅读(547)  评论(0编辑  收藏  举报