补充一点:搜索了下别人Spring Boot部署方案,大多都说:①packaging设为war;②要添加Spring Boot的tomcat依赖;③修改output路径,但是使用STS新建Spring Boot项目的话,前面选择正确,POM里面会自动添加①和②,同时不需要③。

所以,建议使用STS创建Spring Boot项目!


在群里看到有人问“为什么SpringBoot项目打的war包,部署到tomcat之后出错”,于是动手测试了一番 (本人并没在生产环境下用过Spring Boot)。

先说结论:

  • 可以直接右键导出(Export..)为War文件,部署到Tomcat可以正常启动、访问。
  • 可以maven package,同样是打成War文件,部署到Tomcat可以正常启动、访问。
  • 但是,二者的War包大小是不同的,maven package打成的War包更大一些,下面是多出来的内容:

目前尚不清楚为什么二者都可以正常执行,猜测:可能是因为这个测试项目没有用到WebSocket、EL等功能,仅用到Servlet,但这个已经由Tomcat提供了。--稍后测试。

测试项目为STS创建的Spring Boot项目,Maven(类型)+War(打包)+Web(依赖),仅提供了一个测试用的Controller。

具体操作步骤如下:

1、在STS中新建Spring Starter Project,打包方式选择War

2、下一步,选择依赖,这里仅做示意,所以只选择了Web依赖。

3、点击完成,直接下载,然后等候STS导入新建项目成功。

4、编写Controller,同样仅编写了一个用于示意,内容如下:

package win.larryzeal.deploy.web.controller;

import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; /**
* @author LarryZeal
*
*/
@RestController
@RequestMapping("/hello")
public class HelloController { @RequestMapping("/{name}")
public String hello(@PathVariable String name){
return "hello "+name;
}
}

很简单的Controller,就是返回字符串。

5、打包方式1:右键导出War包 -- 同传统的JavaWeb项目,然后部署即可

6、打包方式2:maven package

可以在项目文件夹下进行CMD命令行操作:mvn package 。

也可以在STS中设置:

执行结果如下:

此时,在 target/ 下面就会生成一个War包,部署即可(建议先改名,否则项目路径太长,不便于输入):

Spring Boot项目的打包和部署的更多相关文章

  1. spring boot项目Intellij 打包

    spring boot项目Intellij 打包 学习了:http://blog.csdn.net/hzt_fighting_up/article/details/78174291 在edit con ...

  2. spring boot 项目打成war包部署到服务器

    这是spring boot学习的第二篇了,在上一篇已经整合了spring boot项目了,如果还有小伙伴没有看得可以先去看第一篇 基础整合spring boot项目 到这里的小伙伴应该都是会整合基本的 ...

  3. IDEA spring boot项目插件打包方式jar

    一.打包 1.pom.xml中添加插件依赖 <build> <plugins> <plugin> <!--打包成可执行jar--> <groupI ...

  4. Spring Boot应用的打包和部署

    传统的Web应用在发布之前通常会打成WAR包,然后将WAR包部署到Tomcat等容器中使用,而通过前面的学习我们已经知道,Spring Boot应用既能以JAR包的形式部署,又能以WAR包的形式部署. ...

  5. Spring Boot 项目打成 war 包部署

    Spring Boot 一个非常方便的功能就是支持内置的 Servlet 容器,一般我们部署 Spring Boot 应用时都是打成一个可执行的 Jar 包进行部署.其实 Spring Boot 也是 ...

  6. Spring boot项目的打包发布

    Eclipse打包发布项目 打包项目 首先需要将项目编译的文件删除,执行[Run As]->[Maven clean] 如果这个时候项目报错,在pom.xml文件中添加以下代码过滤掉单元测试 & ...

  7. spring boot项目maven打包可执行JAR

    在pom.xml中添加如下配置: <!-- 打包可执行jar包 --> <plugin> <groupId>org.springframework.boot< ...

  8. spring boot 项目打包到maven仓库供其它模块使用

    在对spring boot项目进行打包发布的时候发现其它spring boot项目服务真正引用使用该spring boot包中的类 需对打包插件做如下修改: <build> <plu ...

  9. spring boot项目发布tomcat容器(包含发布到tomcat6的方法)

    spring boot因为内嵌tomcat容器,所以可以通过打包为jar包的方法将项目发布,但是如何将spring boot项目打包成可发布到tomcat中的war包项目呢? 1. 既然需要打包成wa ...

随机推荐

  1. Hibernate温习(一)

    //从学校出来几个月了,一直用maximo没有使用到Hibernate,趁着周末的空闲时间重新开始学习Hibernate. Hibernate概念: Hibernate是数据库访问层的框架,对JDBC ...

  2. STL中的set容器的一点总结

    1.关于set C++ STL 之所以得到广泛的赞誉,也被很多人使用,不只是提供了像vector, string, list等方便的容器,更重要的是STL封装了许多复杂的数据结构算法和大量常用数据结构 ...

  3. NodeJs 连接mysql一例。

    var mysql = require('mysql'); var connection = mysql.createConnection({ host :'127.0.0.1', user :'ro ...

  4. 表示即将废弃一个方法,或不赞成使用的一个方法或属性或其它,关键词 deprecated

  5. CSS3 04

    animate.css库的使用 官网:https://daneden.github.io/animate.css/ 作用:将一切常见的动画直接封装,开发者不需要考虑实现过程,只需要添加对应的类就能实现 ...

  6. JavaScript小知识

    1.<script>标签的出现使整个页面因脚本解析.运行而出现等待: 2.合并脚本,每个 HTTP请求都会产生额外的性能负担,下载一 个 100KB 的文件比下载四个 25KB的文件要快: ...

  7. SQL事务

    一.事务概念    事务是一种机制.是一种操作序列,它包含了一组数据库操作命令,这组命令要么全部执行,要么全部不执行.因此事务是一个不可分割的工作逻辑单元.在数据库系统上执行并发操作时事务是作为最小的 ...

  8. jQuery插件编写规范

    第一种方法: 在很多基于jQuery或基于Zepto的插件中,在立即函数执行前面会加上";"这个符号. 这是为了防止前面的其他插件没有正常关闭. 在立即执行函数执行时,会一般会传入 ...

  9. 第十章 DOM

    10.1节点层次 html元素通过元素节点表示,特性节点通过特性节点表示,文档类型节点通过文档类型节点访问,这些类型都继承一个基类型. 10.1.1 Node类型 JavaScript中的所有节点类型 ...

  10. python之路-Day6

    time & datetime模块 #_*_coding:utf-8_*_ __author__ = 'Alex Li' import time # print(time.clock()) # ...