Spring Boot 默认编译后的jar, 因为在Spring Boot Web项目中,已经内嵌Tomcat容器,这样只需要启动jar就可以运行web项目。
本示例以Maven项目为例,在演示将Spring Boot jar应用变成 war.
1.工具及版本
- Spring Boot 1.5.9.RELEASE
- Maven 3.1.0
- apache-tomcat-9.0.8
2.修改配置
默认jar项目的运行是使用:
1 | java -jar target/mymodule-0.0.1-SNAPSHOT.jar |
转换成war, 只需要修改pom.xml配置即可完成。
首先,将文件的类型从jar变成war
1 | <packaging>jar</packaging> |
1 | <packaging>war</packaging> |
其次,就是将内嵌的tomcat jar修改为运行环境:
1 | <dependency> |
最后在主入口出添加继承 org.springframework.boot.web.support.SpringBootServletInitializer
1 | package com.devnp.springbootwardemo; |
完成上述几步就基本完成Spring Boot jar 项目到 war, 再次运行编译命令就会发现生成的war:
1 | mvn clean package |
生成的war就可以部署到容器当中。
3.测试
编写一个Controller, 用于访问,将编译的spring-boot-war-demo.war放进tomca/webapps下面,启动tomcat:
访问:http://localhost:8080/spring-boot-war-demo/hello