通过maven-war-plugin插件可以生成war包

1
2
3
4
5
6
7
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <configuration>
        <failOnMissingWebXml>false</failOnMissingWebXml>
    </configuration>
</plugin>

<failOnMissingWebXml>false</failOnMissingWebXml>表示忽略web.xml

在项目的启动类里,还需要重载SpringBootServletInitializer.configure。

因为spring boot默认情况下使用了嵌入容器,支持项目的运行。

但发布成war包,部署到tomcat里,就没有这个天然支持了

注意如果pom中有provided依赖的话,依赖的jar包中会放入lib-provided目录(当然tomcat是不认识这个目录的),根据容器情况如果需要哪个就需要复制到lib目录下

同时要注意部署到tomcat后,端口和项目path是根据tomcat配置而不是application.properties