springboot极大简化了java项目的搭建,模式使用内嵌式的tomcat也非常方便。但是有时候由于运维标准或者某些原因,还是需要打成war包部署。这里做一个记录,也可以参考官方文档(只是官方文档有时候更新的不太及时)。
- 修改打包方式
<packaging>war</packaging>
-
增加war插件
<build> <plugins> <plugin> <artifactId>maven-war-plugin</artifactId> <version>2.6</version> <configuration> <failOnMissingWebXml>false</failOnMissingWebXml> <outputDirectory>webapps</outputDirectory> <warName>ROOT</warName> </configuration> </plugin> </plugins> </build>
-
增加tomcat依赖,scope修改为provider
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency> </dependencies>
-
修改启动类
@SpringBootApplication @EnableScheduling public class App extends SpringBootServletInitializer{ @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { return builder.sources(App.class); } public static void main(String[] args){ SpringApplication.run(App.class,args); } }
网友评论