springboot项目部署(war包)
将springboot项目打包成war,并且部署到tomcat。比较麻烦,自己踩的坑也比较多。算了一下,找bug的时间,有两天熬到凌晨2点。
修改pom.xml使得打包成war
<groupId>com.yanzhen</groupId>
<artifactId>dormitory</artifactId>
<version>0.0.1-SNAPSHOT</version>
<description>Demo project for Spring Boot</description>
<packaging>war</packaging> <!--更改这里-->
修改pom.xml排除内置的Tomcat(不然报错404)
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!--添加以下部分-->
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
添加tomcat启动器
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</dependency>
在build配置项目的打包名
<build>
<finalName>dormitory</finalName>
</build>
打包之后的项目名就是dormitory
修改启动类
继承自SpringBootServletInitializer并重写SpringApplicationBuilder方法
@SpringBootApplication
@MapperScan({"com.dj.mapper"})//配置到mapper
public class DormitoryApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(DormitoryApplication.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(DormitoryApplication.class);
}
}
maven打包
先执行maven clean
,再执行maven package
,那么就会在target目录下生成了dormitory.war
部署到tomcat
将dormitory.war
放入tomcat中的webapps
启动tomcat
在windows中运行,linux类似
cd bin
startup.bat
启动成功之后,会发现生成了一个dormitory的文件夹,项目也运行起来了。
测试
测试注意点(一定要看)
由于不使用Spring Boot 自带的Tomcat,所以在application中配置服务器server是无效的。
如果需要修改端口port
,修改tomcat的端口,即这边设置的端口也不会生效,会使用tomcat的默认端口。]
tomcat修改默认端口:https://www.cnblogs.com/wzstudy/p/10690656.html
如果部署到云服务器需要开放两边的端口,宝塔和服务器的
如果需要context-path
,需要在前面设置build的打包名改成context-path的值(打包名就不用/)
即
<build>
<finalName>dormitory</finalName>
<build>
如果你没有设置context-path
,你想要访问的效果是http://localhost:8080/login
,那么你就需要将打包名改成ROOT
<build>
<finalName>ROOT</finalName>
<build>
这样项目就会直接编译到原本ROOT
文件中
参考链接
部署springboot项目到云服务器的两种方式(jar+war)
springboot项目部署(war包)的更多相关文章
- springboot项目打war包发布到外置tomcat
第一步:修改pom.xml 1. <version>0.0.1-SNAPSHOT</version> <packaging>war</packaging> ...
- SpringBoot项目打war包部署Tomcat教程
一.简介 正常来说SpringBoot项目就直接用jar包来启动,使用它内部的tomcat实现微服务,但有些时候可能有部署到外部tomcat的需求,本教程就讲解一下如何操作 二.修改pom.xml 将 ...
- SpringBoot 项目打war包 tomcat部署
今天看了一下springboot的项目,个人习惯是接触新的语言或框架,首先要做的就是程序员届最常用的“Hello World”,然后进行项目部署,然今天部署却发现一直都是404,查看tomcat的we ...
- Springboot项目打成war包,部署到tomcat上,正常启动访问报错404
前言: 项目介绍,此项目是一个Maven多模块项目,模块项目:all(父模块):util (公用的工具类):dao(实体类.业务类.mapper.mapper.xml):business(业务serv ...
- springBoot项目打war包部署到tomcat上
1 首先得在本地跑通. 2 处理启动类Application @SpringBootApplication public class Application extends SpringBootSer ...
- springboot项目打war包部署到服务器(eclipse & gradle环境)
1.右键项目run as -> run configurations,打开Run configurations弹出框 2.右键Gradle Project -> New Configur ...
- springboot项目打war包流程
目前,前后端分离的架构已成主流,因此使用springboot构建应用是非常快速的,项目发布到服务器上的时候,只需要打成一个jar包,然后通过命令 : java -jar jar包名称即可启动服务了:但 ...
- SpringBoot 项目 部署 war方式
SpringBoot部署 –war方式 步骤1部署方式 Springboot 和我们之前学习的web 应用程序不一样,其本质上是一个 Java 应用程序,那么又如何部署呢? 通常来说,Springbo ...
- springboot项目打成war包
在某种情况下,比如..........之下,我们不得不,将springboot打成war包 1.在pom.xml文件中修改 <packaging>war</packaging> ...
- springboot项目打war包pom设置
<build> <finalName>PayManager</finalName><!--打包后的名字PayManager.war--> <plu ...
随机推荐
- Android的Proxy/Delegate Application框架
转自:http://blogs.360.cn/360mobile/2013/11/25/proxydelegate-application/#comment-77 有的时候,为了实现一些特殊需求,如界 ...
- P2142_高精度减法(JAVA语言)
思路:BigInteger double kill! //四行搞定 题目描述 高精度减法 输入输出格式 输入格式: 两个整数a,b(第二个可能比第一个大) 输出格式: 结果(是负数要输出负号) 输入输 ...
- 一些DevTools的小技巧-让你不止会console.log()
转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 原文参考:https://www.sitepoint.com/beyond-console-log-leve ...
- 一种3位sar adc工作过程推导(二)
3位sar adc采用下图的电容阵列,需要23个电容,它的基本单元有二进制加权的电容阵列.1个与LSB电容等值的电容:它利用电容上的初始电荷再分配完成二进制搜索算法,因此功耗一般比较小,而且不需要额外 ...
- 庐山真面目之十二微服务架构基于Docker搭建Consul集群、Ocelot网关集群和IdentityServer版本实现
庐山真面目之十二微服务架构基于Docker搭建Consul集群.Ocelot网关集群和IdentityServer版本实现 一.简介 在第七篇文章<庐山真面目之七微服务架构Consul ...
- Kubernetes中Deployment部署故障排除
Kubernetes中Deployment部署故障排除 字符型思维导图 排查pod状态(带标签):kubectl get pods,是否有等待处理的pod? 是?kubectl describe po ...
- 详解CURL状态码,最全的代码列表
curl是一个强大的命令,其中我们经常使用的通过curl 加地址和端口号,判断目标链接状态,下面列出了curl 返回的状态码. 举例: [root@k8s-master1 ~]# curl k8s-m ...
- 没想到吧,Java开发 API接口可以不用写 Controller了
本文案例收录在 https://github.com/chengxy-nds/Springboot-Notebook 大家好,我是小富~ 今天介绍我正在用的一款高效敏捷开发工具magic-api,顺便 ...
- Python基础(二十一):面向对象“类”第四课——魔法方法
先划一下重点: 6个魔法方法: 动态操作属性的4个函数: 魔法方法 魔法方法的简单介绍 魔法方法的命名规则:方法名(前后各有2个下划线). 通常情况下,不会主动去调用魔法方法,而是在满足一定的条件下, ...
- Struts2(十六篇)
(一)Struts2框架概述 (二)Struts2配置文件 (三)Struts2的Action(简单讲解版) (四)Struts2的Action(深入讲解版) (五)Struts2处理结果管理 (六) ...