1. tomcat9 2. jdk8 3. springboot2.x
1 - pom.xml 修改打包方式 war 2 - 加入SpringBoot打包插件(pom.xml) org.springframework.boot spring-boot-maven-plugin 3 - 在打包插件中加入配置SpringBoot的入口类的标签名 org.springframework.boot spring-boot-maven-plugin true Dfile.encoding=UTF-8 com.kaiguo.Test com.kaiguo.Test这个必须要修改成你自己的配口类标签名
4 - 依赖的修改(pom.xml)因为打war在tomcat部署,我们需要将内嵌的tomcat去掉 加入你的springboot有jsp文件的话还要将tomcat解析jsp的依赖去掉
org.springframework.boot spring-boot-starter-web org.apache.tomcat.embed tomcat-embed-jasper provided org.springframework.boot spring-boot-starter-tomcat provided provided这个scope的意思在当前环境可以使用,但是不参与打包!!!
5 - 修改主配置类(用于依赖外部tomcat) @SpringBootApplicationpublic class Test extends SpringBootServletInitializer { @Override //这个表示使用外部的tomcat容器 protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { // 注意这里要指向原先用main方法执行的启动类 return builder.sources(Test.class); } public static void main(String[] args) { SpringApplication.run(Test.class,args); }}最后进行打包即可
6 - 测试war包将war包放入tomcat下的webapps下面 我们启动tomcat
启动tomcat
注意、:war部署的时候 tomcat默认将你的根路径变成你的war的名称
访问我们的测试接口
成功
注意:war部署的时候 tomcat默认将你的根路径变成你的war包的名称例如 你的war是 test.war 那么部署的时候访问接口必须是 http://localhost:8080/test/
我的war包是wa.war 那么部署之后 我要访问我的接口/consumer/hello 必须是 http://localhost:8080/wa/consumer/hello而不是http://localhost:8080/consumer/hello 很多小伙伴经常搞错