1.修改pom.xml文件(4个地方)
①<packaging>war</packaging>将其中的jar该为war
②<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency> 修改spring-boot-starter-web排除内置的tomcat
③<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
添加这个依赖,不然在打war包的时候会包ClassNotFound异常,打包失败,这个点很关键
④<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<warName>test</warName>
</configuration>
</plugin>
</plugins>
</build>
修改插件为maven-war-plugin,添加configuration节点,配置war包的名称,解决资源访问路径错误问题
2. 修改springboot入口配置
①继承SpringBootServletInitializer
②重写configure()@SpringBootApplicatio@EnableCachin@ServletComponentScan
public class TestApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(TestApplication.class);
}
public static void main(String[] args) {
SpringApplication.run(TestApplication.class, args);
}
}
3.idea打war包操作
①点击右侧“Maven Project” --> Lifecycle -->clean,清除原先maven的配置对新打包的影响;
②点击Lifecycle -->install进行打包,看控制台知道程序运行结束Process finished with exit code 0;
4.按照tomcat部署war包的程序进行正常部署,部署完成后启动tomcat即可正常访问项目。