最基本的 pom.xml 包含工程信息、Spring Boot 父工程、属性配置、依赖包、构建插件
微服务多 Spring Boot 应用依赖关系管理4.0.0 com.anoyi demo1.0-SNAPSHOT org.springframework.boot spring-boot-starter-parent2.0.2.RELEASE org.springframework.boot spring-boot-maven-plugin
蓝色:仅 pom.xml 文件,无代码
黄色:包含 pom.xml 文件,一些具有通用性的代码,如工具类等
绿色:Spring Boot 应用工程,含有启动类,与上述单体应用类似
蓝色:自定义 Parent
为避免微服务下包的滥用,应该统一管理第三方依赖的版本,同时为了方便 mvn deploy 操作,可以加上公司内部 Maven 私服的信息。
4.0.0 com.anoyi parent1.0.0.RELEASE pom org.springframework.boot spring-boot-starter-parent2.0.2.RELEASE 1.0.0.RELEASE com.anoyi common${common.version} central ***** *****
常用操作
# 安装到本地、推送到 Maven 私服mvn clean install deploy
黄色:自定义依赖
比如一些通用的工具类包,为了避免代码在不用项目的复制,可以制作成一个 Maven 模块打包,用于其他项目引用。如果这个工具包还依赖了一些其他包,可以在上述 Parent 中统一管理这些包的版本。
4.0.0 com.anoyi common1.0.0.RELEASE jar com.anoyi parent1.0.0.RELEASE org.springframework.boot spring-boot-starter-webcom.alibaba fastjson
常用操作
# 安装到本地、推送到 Maven 私服mvn clean install deploy
构建出来的 jar 包中仅包含编译后的 class 文件及依赖关系,非常轻量!
绿色:Spring Boot Application
最终的目标是构建出可运行的 jar 包,就需要打包所有依赖的代码文件到一起,使用 Spring Boot Maven 插件就能轻易完成。
4.0.0 com.anoyi server-general1.0-SNAPSHOT com.anoyi parent1.0.0.RELEASE com.anoyi commonorg.springframework.boot spring-boot-maven-plugin
常用操作
# 构建可执行 jar 包到 target 目录mvn clean package业务代码复用
解耦业务,合理拆分微服务模块,使用 RPC 框架,能有效的复用代码。
轻量级微服务架构,容器化环境,PRC 框架可以使用 spring-boot-starter-grpc
作者:Anoyi
链接:https://www.jianshu.com/p/7c9237e6575a



