前提
关于springboot的类加载原理和spring-boot-loader
的源码解析,网上已有很多的很棒的文章了。我一直相信对于技术原理的获取,代码层面的话一定是动眼比不上动手,debug
跟着源码运行走一遍,效果往往是很棒的。同理,对于spring-boot-loader
的原理,源码的掌握,其原理和debug
方式参考:springboot jar包可运行,debug告诉你怎么运行的
本文想要讲述的可能要更近一步了。带着一些疑问开始我们的学习
- 1、程序是从哪进入
JarLauncher.main()
方法的 - 2、
java -jar xxx-executable.jar
java
有什么规定吗 - 3、
jvm
层面是如何进入到java
程序的,连接点在哪里
》本文力求专注和精简,希望你有所收获和想法
正文
-jar
的规矩
其实,java
对-jar
定义了一些规则,只要符合这个规则,你做啥都行,怎么做都行。其中的一个是:jar
中需要一个META-INF/MAINFEST.MF
文件,且文件中Main-Class manifest