SpringBoot部署 –war方式

步骤1部署方式

Springboot 和我们之前学习的web 应用程序不一样,其本质上是一个 Java 应用程序,那么又如何部署呢?

通常来说,Springboot 部署会采用两种方式:全部打包成一个jar,或者打包成一个war。

本知识点讲解 war 的方式。

步骤2可运行项目

开发过程在前面的知识点讲解过了,这里就不表了,首先在右上角下载可运行项目。

下载后解压,比如解压到如图所示目录

步骤3application

Application 修改为如下代码

新加@ServletComponentScan注解,并且继承SpringBootServletInitializer 。

为什么要这么改? 这是规定。。。。 要搞成war ,反正就得这么改~

package com.coding4funjava.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);

}

}

步骤4pom.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.coding4funjava</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 文件

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

如果用
springboot-0.0.1-SNAPSHOT.war 这个文件名部署,那么访问的时候就要在路径上加上springboot-0.0.1-SNAPSHOT。 所以把这个文件重命名为 ROOT.war

然后把它放进tomcat 的webapps目录下。



注:没有tomcat的同学可以在右上角下载。

注: ROOT.war 并不是指访问的时候要使用 /ROOT/hello ,而是直接使用/hello 进行访问,ROOT表示根路径。

步骤7启动并测试

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

http://127.0.0.1:8080/hello

SpringBoot 项目 部署 war方式的更多相关文章

  1. SpringBoot 项目 部署 jar方式

    SpringBoot部署-jar方式 步骤1部署方式 Springboot 和我们之前学习的web 应用程序不一样,其本质上是一个 Java 应用程序,那么又如何部署呢?  通常来说,Springbo ...

  2. springboot项目部署(war包)

    将springboot项目打包成war,并且部署到tomcat.比较麻烦,自己踩的坑也比较多.算了一下,找bug的时间,有两天熬到凌晨2点. 修改pom.xml使得打包成war <groupId ...

  3. springboot项目部署云服务器

    Springboot项目部署云服务器 springboot项目部署云服务器还是挺简单的 首先你要有java运行环境,就是jdk的安装,如果还没有装没有参考安装:阿里云ECS建网站(建站)超详细全套完整 ...

  4. 2019-03-26 SpringBoot项目部署遇到跨域问题,记录一下解决历程

    近期SpringBoot项目部署遇到跨域问题,记录一下解决历程. 要严格限制,允许哪些域名访问,在application.properties文件里添加配置,配置名可以自己起: cors.allowe ...

  5. 多个springboot项目部署在同一tomcat上,出现jmx错误

    多个springboot项目部署在同一tomcat上,出现jmx错误 原因:因为jmx某些东西重复,禁用jmx就可以了 endpoints.jmx.unique-names=true

  6. React+SpringBoot项目部署

    静态资源访问配置 https://www.jianshu.com/p/b6e0a0df32ec https://segmentfault.com/q/1010000012240531/a-102000 ...

  7. 如何把springboot项目部署到tomcat上

    前言: 开始以为打包springboot项目为war包丢到tomcat上的webapps下面就可以访问controller层的路径了,可是调用接口却报404的错误,而打开8080的主页,不加路径却可以 ...

  8. SpringBoot项目打war包部署Tomcat教程

    一.简介 正常来说SpringBoot项目就直接用jar包来启动,使用它内部的tomcat实现微服务,但有些时候可能有部署到外部tomcat的需求,本教程就讲解一下如何操作 二.修改pom.xml 将 ...

  9. SpringBoot 项目打war包 tomcat部署

    今天看了一下springboot的项目,个人习惯是接触新的语言或框架,首先要做的就是程序员届最常用的“Hello World”,然后进行项目部署,然今天部署却发现一直都是404,查看tomcat的we ...

随机推荐

  1. C# 基础 - 日志捕获一使用 StreamWriter

    public static class LogHelper { private static readonly string _baseDir = AppDomain.CurrentDomain.Ba ...

  2. Qt update刷新之源码分析总结

    大家好,我是IT文艺男,来自一线大厂的一线程序员 经过前面几次的Qt源码讲解,我相信大家对Qt update刷新机制从底层原理上有了一个深刻的理解:这次做一个收尾总结,来复盘前面几次所讲解的内容: 分 ...

  3. golang 实现求两向量夹角

    type Vector3 struct { X float64 `json:"x"` Y float64 `json:"y"` Z float64 `json: ...

  4. 2017-2018 ACM-ICPC Northern Eurasia(A.Archery Tournament)

    题目链接:https://vjudge.net/problem/Gym-101630A 题意: n个事件,t=1 代表增加一个圆心为(x,y),半径为 abs(y)的靶子,t=2,代表射击的坐标为(x ...

  5. 【java框架】SpringBoot(3) -- SpringBoot集成Swagger2

    1.SpringBoot web项目集成Swagger2 1.1.认识Swagger2 Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务.总体 ...

  6. [React Hooks长文总结系列一]初出茅庐,状态与副作用

    写在开头 React Hooks在我的上一个项目中得到了充分的使用,对于这个项目来说,我们跳过传统的类组件直接过渡到函数组件,确实是一个不小的挑战.在项目开发过程中也发现项目中的其他小伙伴(包括我自己 ...

  7. Jaeger Client Go 链路追踪|入门详解

    目录 从何说起 Jaeger 部署 Jaeger 从示例了解 Jaeger Client Go 了解 trace.span tracer 配置 Sampler 配置 Reporter 配置 分布式系统 ...

  8. Redis实战篇(四)基于GEO实现查找附近的人功能

    如果现在要开发一个功能: 要为一款交友App实现查找附近的人,并按距离进行排序. 让你来开发这个功能,你会如何实现? MySQL 不合适 你可能想到,把用户用户的经纬度坐标使用MySQL等关系数据库( ...

  9. PAT (Advanced Level) Practice 1027 Colors in Mars (20 分) 凌宸1642

    PAT (Advanced Level) Practice 1027 Colors in Mars (20 分) 凌宸1642 题目描述: People in Mars represent the c ...

  10. [BFS]最小转弯问题

    最小转弯问题 Description 给出一张地图,这张地图被分为 n×m(n,m<=100)个方块,任何一个方块不是平地就是高山.平地可以通过,高山则不能.现在你处在地图的(x1,y1)这块平 ...