springboot项目打包成jar详解
最近做的项目中遇到一个问题就是要把一个springboot开发的小demo打成jar包引入到另外一个项目中,直接采用maven package打包成功,把生成的jar放到需要的项目中怎么也导入不了,很是郁闷,多方查找资料终于知道原因,故来做个小总结,一是加强记忆二来希望能帮助其他遇到同样问题的开发朋友们,话不多说。
Spring Boot 中默认打包成的 jar 叫做 可执行 jar,这种 jar 不同于普通的 jar,普通的 jar 不可以通过 java -jar xxx.jar 命令执行,普通的 jar 主要是被其他应用依赖,Spring Boot 打成的 jar 可以执行,但是不可以被其他的应用所依赖,即使强制依赖,也无法获取里边的类。但是可执行 jar 并不是 Spring Boot 独有的,Java 工程本身就可以打包成可执行 jar 。
有的小伙伴可能就有疑问了,既然同样是执行 mvn package 命令进行项目打包,为什么 Spring Boot 项目就打成了可执行 jar ,而普通项目则打包成了不可执行 jar 呢?
这我们就不得不提 Spring Boot 项目中一个默认的插件配置 spring-boot-maven-plugin ,这个打包插件存在 5 个方面的功能,从插件命令就可以看出:
上图右边圈出的五个功能分别是:
build-info:生成项目的构建信息文件 build-info.prope