SpringBoot项目部署到Tomcat服务器
修改项目打包方式
在pom.xml中修改项目打包方式为war。
<packaging>war</packaging>
配置tomcat
pring boot的web项目中内嵌tomcat服务器,所以如果我们想要发布war包到tomcat项目,要将spring boot中内嵌的tomcat包依赖排除,配置如下即可:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
修改启动类,并重写初始化方法
我们需要类似于web.xml的配置方式来启动spring上下文了,在Application类的同级添加一个SpringBootStartApplication类,其代码如下:
/**
* 修改启动类,继承 SpringBootServletInitializer 并重写 configure 方法
*/
public class SpringBootStartApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
// 注意这里要指向原先用main方法执行的Application启动类
return builder.sources(Application.class);
}
}
或者直接修改你的Application类继承SpringBootServletInitializer,然后重写configure即可。
打包部署
用eclipse的mvn工具,run as-》mvn clean -》mvn install,在项目的target目录下生成.war的文件,修改.war文件为你的项目名.war(因为部署后你的url需要带上项目名),上传到tomcat的webapps目录下,重启tomcat,webapps目录下会生成war文件的同名文件夹,项目部署成功。现在你可以通过http://域名/项目名 请求你的项目了。