使用Spring Boot
开发的项目部署前,有时候会选择打成war
包,不使用jar
包的方式。而且我也发现了很多关于项目打war
包的文章,但是在我学习Spring Boot
的时候看到了官方的Demo关于web-jsp
的Spring Boot#spring-boot-samples/spring-boot-sample-web-jsp
配置的pom.xml
非常的简洁,引发了我的尝试。
演示环境
- JDK 1.8
- Spring Boot 2.0.6.RELEASE
- Maven 3.5.4
- IntelliJ IDEA 2018.2.1 (Community Edition)
对项目进行配置
修改pom.xml
文件
要想把项目打成war
包肯定少不了对pom.xml
的packaging
的修改。
<packaging>war</packaging>
然后接着添加tomcat
的依赖,然后设置scope
。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
修改启动类
项目原有的启动类需要继承SpringBootServletInitializer
重写里面的configure
方法。
package xin.jerome.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
@SpringBootApplication
public class DemoApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(DemoApplication.class);
}
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
到这里我们已经对我们的项目已经修改完成了。
打包、部署和测试
打包和部署
打包使用Maven
命令mvn clean package
就会在项目的target
目录下生成对应的xxx.war
文件,然后直接将war
文件放到tomcat
里面运行就可以了。
打包并运行
war
文件的方式有很多,这里就不多阐述。
测试(调试)
根据上面的所述的步骤,我们已经能够轻松的将一个Spring Boot
项目打成war
并且部署到tomcat
里面。但是经过这样配置后,在开发调试的时候并不是很方便。这时我们只需要把tomcat
依赖的<scope>provided</scope>
这段代码给注释掉,重新导入依赖即可。就可以直接在IntelliJ IDEA
里面运行调试了。
总结
经过上面的一番操作后,会使我们对Spring Boot
的开发更加顺手。正所谓处处留心皆学问,我也希望自己在这条路上走得更远。
原文链接:Spring Boot打成war包