困扰了一下午,其实就是一个坑,问题关键就在Application启动类
1.原先启动类,最初的简单生成模版
@SpringBootApplication
@ComponentScan(basePackages = "com.test")
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
2.你将启动类改为如下即可
@SpringBootApplication
@ComponentScan(basePackages = "com.test")
public class Application extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(Application.class);
}
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
3.改变启动类后,通过命令maven -install 打成war,放到tomcat里面,会发现访问项目不会出现404了,就成功了。
4.如果还有问题,可能在于pom.xml,增加以下依赖,再次尝试
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope><!-- 打成war的时候打开注释,本地开发用内嵌tomcat时加上注释 -->
</dependency>
5.我是主要问题出现在启动类上,希望能帮到大家。