知方号

知方号

SpringBoot打war包部署Tomcat(最全)

SpringBoot打war包部署Tomcat(最全)

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 很多小伙伴经常搞错

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至lizi9903@foxmail.com举报,一经查实,本站将立刻删除。