Spring Boot项目的打包和部署
补充一点:搜索了下别人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项目的打包和部署的更多相关文章
- spring boot项目Intellij 打包
spring boot项目Intellij 打包 学习了:http://blog.csdn.net/hzt_fighting_up/article/details/78174291 在edit con ...
- spring boot 项目打成war包部署到服务器
这是spring boot学习的第二篇了,在上一篇已经整合了spring boot项目了,如果还有小伙伴没有看得可以先去看第一篇 基础整合spring boot项目 到这里的小伙伴应该都是会整合基本的 ...
- IDEA spring boot项目插件打包方式jar
一.打包 1.pom.xml中添加插件依赖 <build> <plugins> <plugin> <!--打包成可执行jar--> <groupI ...
- Spring Boot应用的打包和部署
传统的Web应用在发布之前通常会打成WAR包,然后将WAR包部署到Tomcat等容器中使用,而通过前面的学习我们已经知道,Spring Boot应用既能以JAR包的形式部署,又能以WAR包的形式部署. ...
- Spring Boot 项目打成 war 包部署
Spring Boot 一个非常方便的功能就是支持内置的 Servlet 容器,一般我们部署 Spring Boot 应用时都是打成一个可执行的 Jar 包进行部署.其实 Spring Boot 也是 ...
- Spring boot项目的打包发布
Eclipse打包发布项目 打包项目 首先需要将项目编译的文件删除,执行[Run As]->[Maven clean] 如果这个时候项目报错,在pom.xml文件中添加以下代码过滤掉单元测试 & ...
- spring boot项目maven打包可执行JAR
在pom.xml中添加如下配置: <!-- 打包可执行jar包 --> <plugin> <groupId>org.springframework.boot< ...
- spring boot 项目打包到maven仓库供其它模块使用
在对spring boot项目进行打包发布的时候发现其它spring boot项目服务真正引用使用该spring boot包中的类 需对打包插件做如下修改: <build> <plu ...
- spring boot项目发布tomcat容器(包含发布到tomcat6的方法)
spring boot因为内嵌tomcat容器,所以可以通过打包为jar包的方法将项目发布,但是如何将spring boot项目打包成可发布到tomcat中的war包项目呢? 1. 既然需要打包成wa ...
随机推荐
- zabbix数据库mariadb从服务器迁移到云mysql数据库的操作
zabbix数据库mariadb从本机迁移到云mysql数据库的操作 1.将zabbix数据库导出,并导入到云数据库中 由于数据库较大,如果直接使用shell会话中断会导致数据库导出或者导入失败,使用 ...
- jQuery iframe之间相互调用
,子iframe内调用父类函数方法: window.parent.func(); ,子Iframe中获取父界面的元素: $("#xx", window.parent.documen ...
- cookie 和session 的区别
假如我填好了淘宝的用户名密码,点击登录,浏览器客户端像服务器端发送请求,这时服务器端看这个用户是第一次登陆,session会让客户端这个浏览器生成个cookie,并给cookie一个session i ...
- {POJ}{3925}{Minimal Ratio Tree}{最小生成树}
题意:给定完全无向图,求其中m个子节点,要求Sum(edge)/Sum(node)最小. 思路:由于N很小,枚举所有可能的子节点可能情况,然后求MST,memset()在POJ G++里面需要cstr ...
- 《深度探索C++对象模型(Inside The C++ Object Model )》学习笔记
转载:http://dsqiu.iteye.com/blog/1669614 第一章 关于对象 使用class封装之后的布局成本: class并没有增加成本,data members直接内含在每一个c ...
- sql一个表中两个字段合并求和
sql一个表中两个字段,合并求和 SELECT SUM(字段a+'.'+字段b) as total from TABLE
- gridview填充剩下的空间
设置不要在控间中滑动: public class DeliverGridView extends GridView { public DeliverGridView(Context context, ...
- jshint创建配置文件
在项目中创建文件,并必须以 .jshintrc 命名: 例如 { "eqeqeq":true, "curly":true}
- GD图片(画布)的制作及验证码的应用
创建画布:创建画布的函数有 imagecreatetruecolor(width,height);创建画布 width指画布的宽height指画布的高 imagecolorallocate(img,r ...
- Java基础之OOP
1. 类(类型)于对象 (1)面向过程的开发于面向对象开发的区别: 面向过程更重视流程化以及功能的开发,简单点来讲,就是按照固定的模式一步步按部就班的进行,最终达成一个功能的实现.这种模式叫做面向过程 ...

