一开始把一个springboot项目用maven打成一个war包部署到自己的阿里云服务器上面,启动tomcat(我设置的端口是8080,并且配置了安全组对外能访问8080端口),
然后在另外一台主机访问该项目,返回404,然后检查了一下tomcat是否启动成功,结果tomcat的欢迎页可以正常访问,查看tomcat的启动日志,发现也没报任何错误(但是当时没注意到并没有springboot的加载信息,证明spring boot没有被容器加载,一脑子以为只要没报错就万事大吉)。
然后傻逼傻逼的检查是不是自己打的包有问题,是不是打包姿势不正确。
最终解决办法:
@SpringBootApplication
public class CertmapApplication extends SpringBootServletInitializer{
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return super.configure(builder);
}
public static void main(String[] args) {
SpringApplication.run(CertmapApplication.class, args);
}
}
就是让启动类继承SpringBootServletInitializer,并重写configure方法,然后再打war包部署,就能成功加载spring boot了,项目能够正常访问。