springBoot打包项目在Tomcat上运行
1.引入依赖,因为boot内置tomcat打包前应将内置的tomcat排除在外
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
2.引入依赖,tomcat-servlet-api,版本号应与本地tomcat一致
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-servlet-api</artifactId>
<version>8.5.49</version>
<scope>provided</scope>
</dependency>
3.在启动类同级别添加一个类继承SpringBootServletInitializer类并重写configure方法,configurate方法中的builder.sources(?.class)中的参数要为原先的启动类。
/*修改启动类,继承SpringBootServletInitializer类并重写configure方法 */
public class SpringBootStartApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
//注意这里的参数要指向原先用main方法执行的Application启动类
return builder.sources(SsoApplication.class);
}
}
4.右边栏依次点击maven模块Lifecycle中的clean和install进行打包
出现下图所示表示打包成功
5.打开target目录,ctrl+c复制war包
6.打开事先准备好的tomcat,并将刚复制的war包黏贴到webapp目录下
7.手动解压或直接bin目录下startup.bat启动tomcat,完成springboot项目打包放在tomcat上运行
8.如需修改端口号,进入到conf目录下,找到server.xml打开,找到此语句块修改port即可。
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />