springboot部署项目有两种:
1、使用内置tomcat,打成jar包,发布到线上即可。
2、使用外置tomcat,打成war包,线上需要另外tomcat把war包放在tomcat目录下才能运行
一、使用springboot内置tomcat,打成jar包
1、tomcat是一个免费的、开放源码的Web应用服务器,作为中小型系统和并发访问用户不是很多的场合下被普遍使用。springboot默认使用tomcat作为内嵌的servlet容器。查看spring-boot-starter-web依赖可知
如果想使用其他容器,比如Jetty作为Springboot默认内置容器,只需要修改****spring-boot-starter-web依赖即可,具体修改如下
2、由于maven打jar包,总是运行junit test这是因为spring-boot-maven-plugin插件已经集成了maven-surefire-plugin插件会自动运行junit test,只需要在pom.xml里增加
<properties><java.version>1.8</java.version><!-- maven打jar包,跳过junit test测试 --><skipTests>true</skipTests></properties>
3、使用maven管理,运行packsge,打成jar包
4、运行jar包,进入cmd,运行java -jar + jar包名
5、在浏览器输入网址,即可访问项目
二、使用springboot配置外置tomcat
1、排除内置 Tomcat
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-tomcat</artifactId><version>2.2.6.RELEASE</version><!--<scope>compile</scope>--><scope>provided</scope></dependency>
2、将打包方式更改为 war
<packaging>war</packaging>
3、修改启动类(使启动类继承 SpringBootServletInitializer 类,并覆盖 configure 方法)
/*** SpringBoot入口类*/@EnableRetry@ServletComponentScan@SpringBootApplicationpublic class DemoApplication extends SpringBootServletInitializer {public static void main(String[] args) {SpringApplication.run(DemoApplication.class, args);}@Overrideprotected SpringApplicationBuilder configure(SpringApplicationBuilder application) {return application.sources(DemoApplication.class);}}
4、添加依赖、由于 SpringBootServletInitializer 类需要用到 servlet-api 的相关 jar 包,所以需要添加依赖
<dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>4.0.1</version><scope>provided</scope></dependency>
5、配置项目打包路径
6、安装tomcat,并在idea中新增tomcat配置
7、正常启动tomcat,就能通过网址访问了。如果要打war,直接用package