最近几天用idea玩了一个springboot项目,但是在部署的时候遇到了一些麻烦,在网上搜索了一些资料,特意再次记录,参考https://www.jianshu.com/p/baf624064540
步骤一
打开pom.xml
查看打包方式(创建项目时选择的打包方式)
<groupId>com.jiguanghudong.hotel</groupId> <artifactId>hotel</artifactId> <version>0.0.1-SNAPSHOT</version> <name>hotel</name> <packaging>war</packaging>
在pom.xml添加外部tomcat依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency>
步骤二
步骤三
创建一个Initializer
类继承自SpringBootServletInitializer
,并重写configure
方法。且这个类应该与项目的Application在同一级目录下
package com.jiguanghudong.hotel.hotel; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; public class Initializer extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application){ return application.sources(HotelApplication.class); } }
步骤四
maven打包
右键点击运行
打包成功,默认war
包路径在项目文件夹的target
文件内
部署在tomcat 的时候注意两件事情,第一:如果不想访问的时候有项目名称,首先要删除tomcat webaps文件夹下的ROOT文件,这样当tomcat运行的时候项目解压才会可以localhost:8080直接访问
删除掉ROOT
第二:修改conf 下文件server.xml文件 在Host 节点下 修改Context 标签(如果没有这个标签则先添加),path="" docBase="项目路径" 修改后的效果