1、在项目编辑器(IDEA)中启动

  运行springBoot项目Application类中main方法,这两个按钮都可以。如下图:

    

  当然还有我们配置的启动按钮,这是最常用的启动方式,不再赘述,如下图:

    

2、项目根目录下启动

  进入项目代码根目录,输入命令:mvn spring-boot:run

3、jar包启动

  前提是能够打成jar包,所以要配置项目pom.xml文件,对应下图所示:

    

  打jar包的方式有很多,可以用IDEA工具打包,下图所示的两个按钮都可以打包。

    

  也可以用命令行方式打包:先进入项目根目录,输入mvn install 命令 即可打包。

  完成后的jar包在生成的target文件夹中。把jar包拷贝到要发布的文件下,并在此目录下打开控制台(shift+右键),输入:java -jar xxx.jar 

  注:前提是发布服务器已安装jdk,并配好环境变量。否则输入命令无效。

4、外部tomcat,war包启动

  此时要发布的项目打包形式是war包,

  修改pom.xml文件,

  <packaging>war</packaging>

  加入依赖包:

    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-tomcat</artifactId>
    </dependency>

  修改启动类: 加入红色部分

    @SpringBootApplication
    public class DemoApplication extends SpringBootServletInitializer{

      @Override
      protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(DemoApplication.class);
      }
      public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
      }
    }

  和上一种方法相同进行打包。在target目录下可以看到生成的war包。

  把war包放到tomcat下的webapps文件根目录下,如图:

    

  修改 tomcat 的 server.xml 文件:加入红色部分

    <Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true">
      <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"  prefix="localhost_access_log." suffix=".txt" pattern="%h %l %u %t &quot;%r&quot; %s %b" />
      <Context  path="" docBase="./hsweb" reloadable="true"></Context>
    </Host>

  进入bin目录启动tomcat即可。

  注意:项目有些功能无法实现有可能是编码原因,中文{}类似字符无法传输,因为新版tomcat不支持。所以进行传输接收是要进行编码、解码操作。或者是用老版本tomcat

springBoot启动及发布的更多相关文章

  1. SpringBoot学习笔记(八):SpringBoot启动端口+访问路、SpringBoot配置文件yml、SpringBoot多环境区分、SpringBoot打包发布

    SpringBoot启动端口+访问路径 配置文件: server.port=9090 server.context-path=/springboot 现在只能用http://127.0.0.1:909 ...

  2. SpringBoot启动流程解析

    写在前面: 由于该系统是底层系统,以微服务形式对外暴露dubbo服务,所以本流程中SpringBoot不基于jetty或者tomcat等容器启动方式发布服务,而是以执行程序方式启动来发布(参考下图ke ...

  3. 补习系列(13)-springboot redis 与发布订阅

    目录 一.订阅发布 常见应用 二.Redis 与订阅发布 三.SpringBoot 与订阅发布 A. 消息模型 B. 序列化 C. 发布消息 D. 接收消息 小结 一.订阅发布 订阅发布是一种常见的设 ...

  4. 将自己的SpringBoot应用打包发布到Linux下Docker中

    目录 将自己的SpringBoot应用打包发布到Linux下Docker中 1. 环境介绍 2. 开始前的准备 2.1 开启docker远程连接 2.2 新建SpringBoot项目 3. 开始构建我 ...

  5. SpringBoot 启动概述

    透过现象看本质,SpringApplication 只是将一个典型的Spring应用的启动流程进行了扩展,因此,透彻理解 Spring 容器是打开 Spring Boot 大门的一把钥匙. Sprin ...

  6. SpringBoot启动过程原理

    最近这两年springboot突然火起来了,那么我们就来看看springboot的运行原理. 一.springboot的三种启动方式: 1.运行带有main方法的2.通过命令 Java -jar命令3 ...

  7. springboot启动过程(1)-初始化

    1   springboot启动时,只需要调用一个类前面加了@SpringBootApplication的main函数,执行SpringApplication.run(DemoApplication. ...

  8. SpringBoot启动流程分析(二):SpringApplication的run方法

    SpringBoot系列文章简介 SpringBoot源码阅读辅助篇: Spring IoC容器与应用上下文的设计与实现 SpringBoot启动流程源码分析: SpringBoot启动流程分析(一) ...

  9. SpringBoot启动流程分析(三):SpringApplication的run方法之prepareContext()方法

    SpringBoot系列文章简介 SpringBoot源码阅读辅助篇: Spring IoC容器与应用上下文的设计与实现 SpringBoot启动流程源码分析: SpringBoot启动流程分析(一) ...

随机推荐

  1. RK3288 6.0 双屏异显,横屏+竖屏【转】

    本文转载自:http://blog.csdn.net/clx44551/article/details/78215730?locationNum=8&fps=1 RK3288 6.0 双屏异显 ...

  2. 【CSU 1803】2016

    http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1803 Solution: 考虑两个数x,y乘积%2016=0 x×y≡0(MOD 2016) x= ...

  3. 洛谷 P1570【NOIP2013】花匠

    题目描述 花匠栋栋种了一排花,每株花都有自己的高度.花儿越长越大,也越来越挤.栋栋决定 把这排中的一部分花移走,将剩下的留在原地,使得剩下的花能有空间长大,同时,栋栋希 望剩下的花排列得比较别致. 具 ...

  4. luogu 2622 关灯问题II

    题目大意: 有一些灯,有些开关可以控制这些灯,给出矩阵表示控制 对于矩阵中的a i j 表示第i个开关控制第j个灯的情况 若元素为1 表示当灯开着的时候,关掉灯 若元素为0 表示无操作 若元素为-1 ...

  5. Python Matplotlib模块--pyplot

    #-*- coding: utf- -*- ''' numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=No ...

  6. ubuntu 14.04中: 像ubuntu16.04 一样可以在文件夹内打开此路径下的shell

    sudo apt-get install nautilus-open-terminal 然后重启 ok!

  7. LVS集群体系和调度算法

    集群体系和调度算法 LVS集群体系架构 1)使用LVS架设的服务器集群系统有三个部分组成: 最前端的负载均衡层,用Load Balancer表示, 中间的服务器群组层,用Server Array表示, ...

  8. NTFS中的ADS的一些问题

    有关ADS的简单说明请看http://www.xfocus.net/articles/200212/466.html 可以看到ADS在很久以前就被一些安全人员所关注,并且也提出了一些经典的利用,比如隐 ...

  9. 《Effective C++》笔记:III(转载)

    转自:http://www.cnblogs.com/destino74/p/3960802.html 条款5:Know what functions C++ silently writes and c ...

  10. 近年来火热的人工智能,其实是IT业界的一个障眼法

    近年来火热的人工智能,其实是IT业界的一个障眼法,仗着现在的计算机的计算能力牛B,把一个类仿生统计算法,宣传成了人工智能,不得不感叹一些营销人士的牛逼,说大话不腰疼.当然谎言重复一千遍也许自己也就信了 ...