spring boot 项目打成war包部署到服务器
这是spring boot学习的第二篇了,在上一篇已经整合了spring boot项目了,如果还有小伙伴没有看得可以先去看第一篇
到这里的小伙伴应该都是会整合基本的spring boot项目 ,并且可以在本地工具上运行访问了,如果还做不到的,说明你没有用心哦o( ̄ヘ ̄o#)
现在断断续续好像spring boot的名气越来越大了,好像是不会都说不过去了o( ̄ヘ ̄o#)o( ̄ヘ ̄o#)
这几天特地把日常工作做完以后,看了一番spring boot 的资料,再次整理了一番,写出案例,以供大家一起学习;
本来以为都已经把案例写出来了。而且运行出来了,至于打包部署应该是不费吹灰之力的吧O(∩_∩)O哈哈~。。。。。。。。
结果出人意料哈。硬是一个从idea中打包发布的问题搞了几个小时,可能我比较菜^_^,我用的是idea编辑器,所以没研究eclipse的打包方式了。毕竟个人感觉整合spring boot项目的话。还是idea比较快速简单!
首先把项目运行了几次。确保没有问题。是吧,总不能本来项目就跑不起来,你还拿去打包吧。那不是自己没事找事么?
然后,
第一步:
既然是用idea打包发布spring boot项目,那自然首先应该是去找找资料对吧。可别说,找了这些资料,都写的什么乱七八糟的呀,几乎没啥完整的案例。坑很多!
使用idea整合的spring boot案例,pom文件里,打包的方式jar包对吧。然后我为此查找了一番,最后发现还是打包成war要简单些,不是说用jar包不行哈,我个人觉得只是war包相对简单些;
既然要打包成war包,那肯定先得修改
<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
修改以后
<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version><packaging>war</packaging>
第二步 :
修改项目的启动方式
@SpringBootApplication
@MapperScan("com.example.demo.dao")
public class DemoApplication extends SpringBootServletInitializer { @Override//这个方法是新加的
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(DemoApplication.class);
}
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args); }
}
到这一步,其实基本的事情已经完成了,然后就是选择打包的方式了
1.可以采用idea自带的打包方式
2.可以采用maven打包
我这里采用maven打包哈,因为只是一个打包方式而已,我就选择个方便一点的

打开以后会出现下图


打包完成以后会在target目录下生成war包,如图

最后war包生成,将war复制到tomcat的webapps下;
如下图

为了方便访问,进行重命名一下O(∩_∩)O哈哈~,偷个懒

然后在bin 目录下启动tomcat

tomcat启动成功以后,会自动解压war包。如下图

好了。到目前为止已经大功告成啦。访问如下

有不足之处。欢迎大家来喷。O(∩_∩)O哈哈~
spring boot 里面集成tomcat 所以需要修改启动方式,而且为了防止和tomcat冲突,如果大家碰见什么问题,。可以按照上面提到的第一篇,修改为一样的pom文件即可解决
大家都知道照抄不行,可是一个错误搞半天,很显然也不是明智之举,先把案例写出来, 然后再根据自己的理解去修改就好啦;;;;;;;希望大家轻松学习,学习愉快
spring boot 项目打成war包部署到服务器的更多相关文章
- Spring Boot 项目打成 war 包部署
Spring Boot 一个非常方便的功能就是支持内置的 Servlet 容器,一般我们部署 Spring Boot 应用时都是打成一个可执行的 Jar 包进行部署.其实 Spring Boot 也是 ...
- Spring boot 项目打成war包并在idea中运行
1. 修改pom文件原来是jar改成<packaging>war</packaging> 2. 在pom文件中添加移除内置tomcat并且添加添加servlet-api的依赖. ...
- IDEA下spring boot项目打包war包部署外部tomcat问题
第一步,修改配置pom.xml文件 <packaging>war</packaging> <dependency> <groupId>org.sprin ...
- spring boot 项目打成war,丢入tomcat独立运行
小插曲:通过cmd运行startup.bat,cmd界面显示乱码 解决方法:进入tomcat目录,conf文件夹,用编辑器打开logging.properties 将java.util.logging ...
- 将web项目打成war包部署在tomcat步骤
将web项目打成war包部署在tomcat步骤 1.将自己的项目打成war包. 2.将打包好的war复制到${tomcat.home}/webapps项目下. 3.在${tomcat.hom}/con ...
- Web项目打成war包部署Tomcat时运行startup.bat直接闪退部署失败解决方案
即上篇通过将web项目打成war包部署到Tomcat服务器,解决mysql问题后,又出现了新问题,真是一波三折,所以将解决过程分享给大家,希望能帮助到小伙伴们~ 将打好的war包拷贝到Tomcat的w ...
- Web项目打成war包部署到tomcat时报MySQL Access denied for user 'root'@'localhost' (using password: YES)错误解决方案
Web项目使用使用root账号root密码进行部署,通过Eclipse加载到Tomcat服务器可以发布成功,打成war包放到tomcat的webapps目录无法发布成功,报错: jdbc.proper ...
- springboot-把web项目打成war包部署到外部tomcat
将打包方式修改为war <packaging>war</packaging> 移除tomcat依赖或者将tomcat依赖scope改为provide 移除tomcat依赖 &l ...
- 【spring Boot】2.在Myecplise上把spring Boot项目打包 war包和jar包
========================================================第一部分======================================== ...
随机推荐
- Apache Hadoop 2.9.2 的集群管理之服役和退役
Apache Hadoop 2.9.2 的集群管理之服役和退役 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 随着公司业务的发展,客户量越来越多,产生的日志自然也就越来越大来,可能 ...
- knockoutjs复杂对象的可观察性
问题 对于一般数据结构: 1. 对于基本类型的数据的变更的可观察性(observable), 可以使用 ko.observable(xxx) 来声明一个 observable对象, 或将其绑定到视图 ...
- Python——一个简单的进度条的实现
import math def process_bar(total_work,work_index,length): times = total_work / length # 长度倍数,用来缩放或扩 ...
- flask+mod_wsgi+apache在windows上的布署
已经安装过python3.5 1.安装flask: pip install flask 2.安装apache: Apache是开源软件,针对windows环境,它不直接提供编译版本.可以在http:/ ...
- jqGrid整合篇
jqgrid实现多级表头 //使用setGroupHeaders参数: $( "#datagrid" ).jqGrid( 'setGroupHeaders' , { useColS ...
- 路径规划算法之Bellman-Ford算法
最近由于工作需要一直在研究Bellman-Ford算法,这也是我第一次用C++编写代码. 1.Bellman-Ford算法总结 (1)Bellman-Ford算法计算从源点(起始点)到任意一点的最短路 ...
- pyQt5不让进度条卡住
这里我们用一个更新程序做示例, 下载文件的过程中让进度条实时显示下载进度. 如果下载和更新进度条的工作都放在一个线程中,会出现进度条卡顿的情况. Qt中正确的做法是把界面刷新和工作任务交给不同的线程去 ...
- 只有try和finally,没有catch
因为没有catch捕获异常,所以异常发生时,会将异常抛出,导致程序中止:在抛出之前会执行finally中的代码. 用于无法捕获处理异常,需要在程序结束之前进行善后处理的场景
- hibernate查询出的实体,set值后,自动更新到数据
如图: 故事背景:(p.s.我们的项目没有正确配置事务xml文件,未明原因导致事务定义的规则不起作用)获取一个资讯对象,调用该对象的set方法设置其中的content字段,然后把修改后的实体丢到官网首 ...
- django+uwsgi+nginx的部署
1.下载与项目对应的django版本pip3 install django==1.11.16 -i https://pypi.douban.com/simple/2.用django内置的wsgi模块测 ...