最近在学校spring boot 在网络上学校到简单的启动spring boot项目,也搭建好了,但时实际情况我的spring boot项目是要发布到tomcat中的,今天,随意打了个war包发布到tomcat中后,访问路径和在myeclipse中启动访问路径不同。且有一些在myeclipse中可以访问的链接都变成了404.

通过在网络上搜索找到了解决方案,同时根据自己的解决项目做对应的修改。这个博客地址找不到了,这里感到抱歉。

我的工具和项目搭建:maven+spring boot

开发工具:myeclipse

开始解决问题。

War包发布,关键在于maven的配置文件pop.xml。关键的地方:

1/打包方式的指定:

<modelVersion>4.0.0</modelVersion>

<groupId>gateway</groupId>

<artifactId>gateway</artifactId>

<packaging>war</packaging>打包方式指定war

<version>0.0.1-SNAPSHOT</version>

2/在plugin标签中指定bulid方式位war

<plugin>

<groupId>org.apache.maven.plugins</groupId>

<artifactId>maven-war-plugin</artifactId>bulid方式

<configuration>

<warSourceExcludes>src/main/resources/**</warSourceExcludes>

<warName>gateway</warName>

</configuration>

</plugin>

3/添加类似与web配置的spring启动方法。

必须与@SpringBootApplication注解类放到同一级目录下否则回无效果。

我的@SpringBootApplication注解类为

Application

/**

* 支持tomcat的启动类

* @author GuoPC

*

*/

public class SpringBootStartApplication extends SpringBootServletInitializer {

@Override

protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {

// 注意这里要指向原先用main方法执行的Application启动类

return builder.sources(Application.class);

}

}

这些配置好,发布到tomcat中就可以正常启动了。

5/我在转换是遇到一个路径问题,在使用myeclipse开发是路径为index,这样发布回导致发布后路径404.修改为./index就好了。或者在路径前添加request.getcontextPath()的路径。同样可以解决问题。

springboot项目支持war部署tomcat的更多相关文章

  1. SpringBoot 项目打war包 tomcat部署

    今天看了一下springboot的项目,个人习惯是接触新的语言或框架,首先要做的就是程序员届最常用的“Hello World”,然后进行项目部署,然今天部署却发现一直都是404,查看tomcat的we ...

  2. Eclipse中创建新的SpringBoot项目(打包并且部署到tomcat)

    Spring-boot因为其对jar包的高度集成以及简化服务配置,快速部署等的优点,逐渐成为Java开发人员的热衷的框架.下面演示一下怎么在Eclipse中新建Spring-boot项目以及打包部署. ...

  3. SpringBoot项目设置热部署

    记录一个SpringBoot 设置热部署(修改项目之后,项目自动重启)实例 POM.XML 文件 <!-- 配置springBoot项目的热部署启动 --> <dependency& ...

  4. SpringBoot项目打war包部署Tomcat教程

    一.简介 正常来说SpringBoot项目就直接用jar包来启动,使用它内部的tomcat实现微服务,但有些时候可能有部署到外部tomcat的需求,本教程就讲解一下如何操作 二.修改pom.xml 将 ...

  5. Springboot项目打成war包,部署到tomcat上,正常启动访问报错404

    前言: 项目介绍,此项目是一个Maven多模块项目,模块项目:all(父模块):util (公用的工具类):dao(实体类.业务类.mapper.mapper.xml):business(业务serv ...

  6. springBoot项目打war包部署到tomcat上

    1 首先得在本地跑通. 2 处理启动类Application @SpringBootApplication public class Application extends SpringBootSer ...

  7. windows上springboot打war部署tomcat小记

    web项目,需要部署到云主机里去,现在windows里试一下. springboot项目,主要流程就只是打成war包后扔到tomcat里去,但是由于是springboot项目,有一些需要注意的地方,这 ...

  8. Jenkins 集成Maven打包SpringBoot项目并自动部署到Tomcat服务器

    提前条件: 1.在Jenkins服务器上安装Git.JDK和Maven 2.准备另一台服务器并安装Tomcat 3.Gitlab服务器 4.Gitlab仓库中上传SpringBoot项目代码 第一步, ...

  9. springboot项目打war包发布到外置tomcat

    第一步:修改pom.xml 1. <version>0.0.1-SNAPSHOT</version> <packaging>war</packaging> ...

随机推荐

  1. EF 批量更新删除(linq篇)

    刚开始用EF很多东西都不会用,事后想想都很简单的东西总是用很麻烦的方式实现 1:  EF的联合查询 inner join  很久很久以前我是这么写一个列表展示的,其中有两个字段Contractor和M ...

  2. 合并子目录(hash)

    题目2 : 合并子目录 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi的电脑的文件系统中一共有N个文件,例如: /hihocoder/offer22/soluti ...

  3. 计算属性 vs 侦听属性 当需要在数据变化时执行异步或开销较大的操作时,这个方式是最有用的

    https://cn.vuejs.org/v2/guide/computed.html#基础例子 计算属性 vs 侦听属性 Vue 提供了一种更通用的方式来观察和响应 Vue 实例上的数据变动:侦听属 ...

  4. api xml database 设计一种数据库

    w 问题 0-新增和读取,可以忽略更新和删除: 1-被请求方的xml dom结构多层且不定,且未来可能增删某些键(dom节点),且键值长度最值可能无法确定: 3-请求过程可能出现异常exception ...

  5. String、StringBuffer、StringBuiler区别

    1.String与StringBuiler的相同点都是线程不安全的.StringBuffer是线程安全的. 2.String长度不可变,StringBuiler长度可变.当String 使用(+)连接 ...

  6. Printing tools 自定义模板打印的实现

    #ArcGIS for Server 自定义打印两种方法 友好阅读版本: http://gishub.info/2013/09/17/printingtools/ ## 前言使用web打印会遇到中文乱 ...

  7. ThinkPHP的join方法

    两张表: 表一:pre_company_member 关联字段:comp_id 表二:pre_company  关联字段:comp_id 查询这两表中的数据. 方法一:驼峰法 $member=M('C ...

  8. python函数回顾:getattr()

    描述 getattr() 函数用于返回一个对象属性值. 语法 getattr 语法: getattr(object, name[, default]) 参数 object -- 对象. name -- ...

  9. python多线程(三)

    同步锁 两个需要注意的点: 线程抢的是GIL锁,GIL锁相当于执行权限,拿到执行权限后才能拿到互斥锁Lock,其他线程也可以抢到GIL,但如果发现Lock仍然没有被释放则阻塞,即便是拿到执行权限GIL ...

  10. 汽车数据的可视化分析(R)

    数据下载:http://www.fueleconomy.gov/feg/epadata/vehicles.csv.zip 将数据导入R中, 1.首先将工作路径设定到本地保存了vehicles.csv的 ...