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 ...
随机推荐
- Redis配置文件参数说明
Redis配置文件参数说明 1. Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程 daemonize no 2. 当Redis以守护进程方式运行时,Redis ...
- ORACLE 实例及RAC
ORACLE 实例及RAC 一.问题 (1)现象 部署一个sh脚本到生产oracle服务器上,该sh脚本负责读取外系统提供的txt文件,然后用sql loader入库,由oracle服务器的cront ...
- javaScript 正则表达式匹配日期
// yyyyMMddhhmmss var pattern = /^(?:(?!0000)[0-9]{4}(?:(?:0[1-9]|1[0-2])(?:0[1-9]|1[0-9]|2[0-8])|(? ...
- Go语言开发 Eclipse插件安装
UpdateSite: http://goclipse.github.io/releases/
- EntityFramework Reverse POCO Generator工具
https://visualstudiogallery.msdn.microsoft.com/ee4fcff9-0c4c-4179-afd9-7a2fb90f5838
- 更新lispbox中的ccl和slime版本
首先C-x C-f然后输入~,找到.emacs文件,根据slime官方文档说明的添加如下代码到文件末尾,重启一下emacs,slime就编译好了,然后这段代码就可以删除.否则每次启动emacs就算不用 ...
- 通过Dockerfile建立.NET Core mvc Image
生成.NET core mvc code docker run -itd microsoft/dotnet:latestdocker psdocker attach containeridmkdir ...
- new和alloc的区别
简单来说,new和alloc在功能上基本没有什么区别,都是分配内存,初始化对象. 但是,调用new的话,只能通过默认的init方法来初始化对象,而alloc可以通过其他的初始化方法如:-(instan ...
- eclipse maven插件问题:error occurred while automatically activating bundle org.eclipse.m2e.core.ui (525)
①所有应用Close Project ②重启eclipse ③所有应用Open Project 出自:http://blog.csdn.net/qr719169236/article/details ...
- angular 调试 js (分 karms protractor / test e2e unit )
首页订阅 Protractor端到端的AngularJS测试框架教程 2014年01月18日 分类:教程, JavaScript, AngularJS Protractor是一个建立在WebDrive ...