面试官居然我问SpringBoot 是如何通过jar包启动的?- 第373篇

对于SpringBoot打包的jar文件,我们呢,只通过java -jar一行命令便可以启动一个web项目,这如此神奇的效果是SpringBoot是如何帮你完成的呢?

一、从spring-boot-maven-plugin说起

       对于SpringBoot项目,我们会在pom.xml文件添加打包插件spring-boot-maven-plugin,那么执行打包的时候,会生成相应的jar文件,比如:

弹簧启动你好-0.0.1-快照.jar

       我们打开这个jar看下都有什么呢?

       通过这里我们可以看出spring-boot-maven-plugin做了几个重要的事情:

(1)生成核心的文件MANIFEST.MF;

(2)把依赖的jar包进行打包;

       这里普及一个知识点:jar里打包进去了别的jar包,这样的jar称为fat jar(胖的jar)。

标准的解释:在java中,通常将应用程序及其依赖jar一起打包到一个独立的jar中,就叫fat jar,它也叫uberJar。

       在上面最重要的信息就是:MANIFEST.MF,我们进去一探究竟。

二、进入MANIFEST.MF一探究竟

       我们脱去MANIFEST.MF的外衣看看里面是什么鬼?

       我们把jar解压,然后使用记事本打开MANIFEST.MF文件:

       在MANIFEST.MF文件中,重要的是两个属性是:

起步班: 弹簧靴

主要类:组织弹簧框架,引导,装载机,JarLauncher

       我们会发现Start-Class指向的是我们的启动类,也就是注解了@SpringBootApplication的类。

       Main-Class又是什么呢?接着往下看,为您揭晓。

三、java -jar做了什么?

。。。。。。。。。。。。。。。。。

版权原因,完整文章,请参考如下:面试官居然我问SpringBoot 是如何通过jar包启动的?- 第373篇

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值