87.1 创建可部署的war文件
产生一个可部署war包的第一步是提供一个SpringBootServletInitializer
子类,并覆盖它的configure
方法,这充分利用了Spring框架对Servlet 3.0的支持,并允许你在应用通过servlet容器启动时配置它。通常,你只需把应用的主类改为继承SpringBootServletInitializer
即可:
下一步是更新你的构建配置,这样你的项目将产生一个war包而不是jar包。如果你使用Maven,并使用spring-boot-starter-parent
(为了配置Maven的war插件),所有你需要做的就是更改pom.xml
的打包方式为war
:
如果你使用Gradle,你需要修改build.gradle
来将war插件应用到项目上:
该过程最后的一步是确保内嵌的servlet容器不能干扰war包将部署的servlet容器。为了达到这个目的,你需要将内嵌容器的依赖标记为provided
。
如果你使用Maven,下面的示例将servlet容器(本例中为Tomcat)标记为提供:
如果你使用Gradle,下面的示例将servlet容器(本例中为Tomcat)标记为提供:
注 providedRuntime
更适合Gradle的compileOnly
配置,因为compileOnly
依赖不在测试类路径上,所以任何基于web的综合测试都会失败。
如果你使用Spring Boot构建工具,将内嵌容器依赖标记为provided
将产生一个可执行war包,在lib-provided
目录有该war包的provided
依赖。这意味着,除了部署到servlet容器,你还可以通过使用命令行java -jar
命令来运行应用。
提示 查看Spring Boot基于以上配置的一个Maven示例应用。
最后更新于