补充一点:搜索了下别人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. thinkPHP-空操作

    空操作 当访问的方法不存在时,可以定义一个empty方法来避免空操作 function _empty() { echo "网页不存在,请检查地址信息"; } 这样当访问不存在的方法 ...

  2. redis 与 spring整合 hash 增删改操作 list增删改操作

    本人,对于以前redis的学习是非常痛苦的!近期将以前的东西捡起来.以博客的形式存储,以便于以后快速捡起来,并和广大同胞一起分享! 1):简单介绍 redis 是基于C语言开发. redis是一个ke ...

  3. Oracle数据库导入导出命令

    在建立oracle客户端的前提下,Net Manager中配置了数据库的连接,使用此命令 导出数据 pauseecho 正在备份老数据库...pauseexp user/pwd@配置名称 file=d ...

  4. wamp 配置遇到的问题

    /* 最近开发部署更换到国内的服务器,想来想去还是更换为wamp套件. 但是由于下的版本的都不太适合. 外网一直显示拒绝.排查问题之后 写个笔记做个记录 */ wamp You don't have ...

  5. mobx源码解读4

    这节介绍一下mobx的变动因子的稳定性. mobx整个系统是由ObservableValue, ComputedValue, Reaction这三个东西构建的 ObservableValue 是最小的 ...

  6. Android 在Canvas中实现画笔效果(一)--钢笔

    如题: 公司要求做一个涂鸦板,要有钢笔.毛笔等画笔效果,网上搜了很多,可是效果不怎么好,决定自己研究下.废话不多说,进入正题. 首先,赛贝尔曲线弄明白了,在画曲线的过程中就是一条条的向量. 第二,曲线 ...

  7. Qt事件过滤器Event Filter

    事件过滤器针对一类或者多种不同类型的对象,定义了重写操作. 简单的说: 1.先对UI对象注册Event Filter 例如:    ui->drawBtn->installEventFil ...

  8. java.util.regex.PatternSyntaxException: Dangling meta character '*' near index 0

    使用repalceAll 方法出现java.util.regex.PatternSyntaxException: Dangling meta character '*' near index 0异常 ...

  9. 用于模式匹配的String方法

    String支持四种使用正则表达式的方法. 1.search()返回第一个与之匹配的子串的起始位置,找不到返回-1.search()参数是一个正则表达式,如果参数不是正则表达式,则会先通过RegExp ...

  10. Linux课程实践四:ELF文件格式分析

    一.ELF文件格式概述 1. ELF文件 ELF:Executable and Linking Format,是一种对象文件的格式,用于定义不同类型的对象文件(Object files)中都放了什么东 ...