1.首先spring-boot-plugin打包除了把依赖的jar打包到目标.jar以外,还生成了mainfast文件,该文件里面指定了main-class指定运行java-jar的主程序,指定了start-class(当前程序运行的main方法)。
2.main-class是指定了jarLauncher,当运行java-jar,jarLauncher除了加载类资源和jar以外,会调用jarLauncher里面的main方法,然后找到start-class的类,通过反射调用它的main方法。
为什么springboot的jar可以直接通过java-jar直接运行
最新推荐文章于 2024-05-07 13:02:03 发布