在springboot项目中,我们写完项目打包测试时,打包的方式偶尔会不同,这次我们来看看在springboot中如何打包成war包部署吧。
一、修改springboot项目中POM文件,把它的打包形式改为war包
1. 去除掉springboot项目自带的tomcat包
< dependency > <groupId>org.springframework.boot</groupId> < artifactId > spring - boot - starter - web < /artifactId> < version > 1.5 .10.RELEASE < /version> < exclusions > <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> </exclusion> < /exclusions> < / dependency > 2. 添加 servlet - api包 < dependency > <groupId>javax.servlet</groupId> < artifactId > javax.servlet - api < /artifactId> < version > 3.1 .0 < /version> < scope > provided < /scope> < / dependency > 3. 修改springboot项目与JSP页面编译的包 < dependency > <groupId>org.apache.tomcat.embed</groupId> < artifactId > tomcat - embed - jasper < /artifactId> < version > 8.5 .27 < /version> < scope > provided < /scope> < / dependency > 4. 添加springboot项目打WAR包插件 < plugin > <groupId>org.apache.maven.plugins</groupId> < artifactId > maven - war - plugin < /artifactId> < version > 3.2 .0 < /version> < configuration > <failOnMissingWebXml>false</failOnMissingWebXml> < /configuration> < / plugin >
二、修改springboot项目启动类,继承 SpringBootServletInitializer 类,并重写configure方法
@SpringBootApplication public class ApplicationTest extends SpringBootServletInitializer { public static void main(String[] args) { SpringApplication.run(ApplicationTest.class, args); } @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { return builder.sources(this.getClass()); } }
三、使用MAVEN打成 WAR包,最后将WAR包放到 tomcat的 webapp目录下,启动tomcat
四、打开浏览器访问 http://localhost:tomcat端口号/WAR包名字/服务URL地址,例:
http://localhost:8080/springboot-demo/user/hello
以上就是本篇文章的所有内容,还需了解更多java项目中常见问题,请持续关注本站。
推荐阅读: