欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

SpringBoot打war包

程序员文章站 2022-05-24 20:29:32
...

1、 修改pom.xml文件,将项目打成war包

<packaging>war</packaging>

2、修改pom.xml文件,将内嵌容器的依赖标记为provide

<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-tomcat</artifactId>
			<scope>provided</scope>
 </dependency>

提供一个SpringBootServletInitializer的子类,并覆盖其configure方法,完成初始化操作:

public class ServletInitializer extends SpringBootServletInitializer {
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        //Application的类名
        return application.sources(MallApplication.class);
    }
}

如下图,类建立在MallApplication同级:
SpringBoot打war包
点击maven的package进行打包:
SpringBoot打war包
target下会生成war包(mall-1.0.jar):
SpringBoot打war包
然后放在tomcat的webapps目录下,在tomcat的bin目录下双击startup.bat,如下图:程序即可启动:

SpringBoot打war包
注意,因为我的项目在application.properties里配置了访问路径,即

server.context-path=/mall

,所以本地访问时是http://localhost:8080/mall,但是tomcat里启动的war包的访问路径是http://localhost:8080 + jar全名,即访问路径多了个mall-1.0,
所以,会导致页面内路径跳转出现问题,所以把jar包mall-1.0.jar直接改名为mall.jar,即可解决问题。然后访问http://localhost:8080/mall即可成功,注意打成jar无此问题。注意,项目所需图片文件夹应在tomcat的bin目录里:
SpringBoot打war包

相关标签: war包