为什么springboot更支持打包为jar包
springboot打包为jar包和war包的区别
在springboot项目中使用的是springboot内嵌的tomcat容器,而war包是运行在外部的服务器容器中的,那么就会造成两个服务器容器,这样是错误的。
而jar可以通过Java -jar直接运行所以springboot更支持打包为jar包。
那么如果我们一定要打包为war包我们需要怎么做呢
1.首先我们需要把内置的tomcat容器不打包
test属性可以换成provided属性也是ok的
2.并且我们需要给外部的服务器容器声明入口类
//1.继承SpringBootServletInitializer
//2.覆盖configure方法
public class Application extends SpringBootServletInitializer{
public static void main(String[] args) {
SpringApplication.run(Application.class,args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(Application.class);
}
}
3.并且因为使用的外置服务器容器,所以yml配置文件中配置的端口号和访问名等信息就会失效。
如果有错误,请指出,谢谢大家😀