spring boot支持常见的打包工具,为它们提供了一些内置的插件,例如maven, gradle,我见过的所有打包工具都是maven,所以只介绍maven,gradle略。
它的知识点有三部分。
第一部分,配置,引入spring-boot-maven-plugin。
第二部分,执行。
第三部分,部署,即打包成war,部署在内置的服务器中,例如tomcat。
1、配置
引入插件
<plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin>
引入插件的仓库
<pluginRepositories> <pluginRepository> <id>spring-snapshots</id> <url>https://repo.spring.io/snapshot</url> </pluginRepository> <pluginRepository> <id>spring-milestones</id> <url>https://repo.spring.io/milestone</url> </pluginRepository> </pluginRepositories>
2、执行
第一种方式,将插件绑定到maven的package周期中。repackage并不是maven的生命周期,估计是post-package周期spring boot自定义实现。
<plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin>
第二种方式,运行mvn package spring-boot:repackage命令。
3、部署
Spring boot识别当前项目为web项目时,会内置服务器,默认为tomcat,部署的含义是指打包成war,部署到内置服务器中。具体操作,只需要将tomcat的依赖作用域修改为provided即可。
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency>