1.SpringBoot提供了一个插件spring-boot-maven-plugin用于把程序打包成一个可执行的jar包。
2.Spring Boot应用打包之后,生成一个Fat jar, jar包中包含jar),包含了应用依赖的jar包和Spring Boot loader相关的类。
3. java -jar会去找jar中的manifest文件,在那里面找到真正的启动类(main-class):
4. Fat jar的启动Main函数是JarLauncher,它负责创建一个LaunchedURLClassLoader来加载bootlib下面的jar,井以一个新线程启动应用
的Main函数(找到清单文件中的start-class)。