团队技术统一第一步----Maven Archetype
“ 让 Archetype 标杆最佳实践, 砍掉重复工作, 统一组件版本, 解放 Leader 双手!”
一个团队是由各种各样的技术人才组成的, 但是如果没有一个规范/标准, 那当你审阅每个人的代码后心态可能是你手机里的第三张表情包的样子
因此团队技术的统一, 组件版本的统一是尤为重要的, 同时如果再借助 Google Coding Style/Alibaba Coding Style 等插件帮助, 就可以基本达到看任何一个同事的代码都和看自己的代码差不多. 当然了, 你不可能每天盯着每个人, 尤其是如果您正好是组长, 技术负责人等, 除了自身工作外, 还需要对团队代码质量负责, 那当然是需要一些工具的帮助了, Maven 的 archetype 就可以帮助到你.
1. 什么是 Maven Archetype
Archetype 的意思就是模板原型的意思,简而言之,Archetype 是一个 Maven 项目模板工具包,所有其他类似代码都由该模型生成。Archetype 将帮助你为其他开发人员创建 Maven 项目模板,并提供生成这些项目模板的参数化版本的方法。使用原型提供了一种很好的方式,可以以与你的项目或组织采用的最佳实践一致的方式快速启用开发人员。在 Maven 项目中,我们使用原型来尝试让我们的用户尽快启动和运行.
简单的说, 就是每个项目都需要干的那些事, 你想让别人必须干的事你都可以创建一个 Archetype 作为模板, 其他人创建项目时选择 Archetype, Maven 就会自动拉取你的模板工程给其他开发者. 这样, 你就可以找一两个人来维护 Archetype, 其他所有人都只通过 Archetype 创建项目
在 Archetype 中进行团队组件版本的统一管理
每个项目初始化都需要做的重复工作不用团队成员每个工程都干一遍了
Google Coding Style 检查, Find bugs 插件, Docker 容器化配置等工作强制团队成员执行, 培养团队成员良好的编码习惯
...
这个时候你就可以喝着茶, 看着报, 因为一切尽在掌握中...
2. 创建 Archetype
创建 Archetype 有两种方式, 一种是直接生成, 一种是通过一个已有的项目创建 Archetype, 这里帅帅推荐通过第二种方式. 即: 先创建一个项目, 把需要集成的,配置的,通用的代码都写好, 测试通过, 再基于这个项目创建一个 Archetype. 这里帅帅创建一个
SpringBoot + Jpa + Google Coding Style + Find bugs + Docker 容器化
的 archetype 为例进行说明. 官网资料也给你哦: https://maven.apache.org/archetype/maven-archetype-plugin/advanced-usage.html
2.1 创建一个 Maven 工程
我们创建了个父子工程, 父工程负责组件版本统一管理, 子工程就是每个具体的 Archetype. 上图中我们创建了 SpringBoot + Jpa 的相关配置, 并且团队常用的配置信息都已经配置进去
2.2 基于模板项目生成 Archetype
在具体的 Archetype 工程根目录(springboot-jpa)下, 执行
mvn archetype:create-from-project
生成 archetype, 默认生成在target/generated-sources/archetype/
路径下. 注意: 父子工程需要先把父工程发布到 maven 仓库或者公司 nexus 私服.
2.3 进入生成的 Archetype
这个就简单在, 将终端/Dos 路径切换:
cd target/generated-sources/archetype/
2.4 发布 Archetype
发布通过一下命令:
mvn deploy
3. 使用 Archetype
这里以 IDEA 工具为例,
首先点击新建-->项目, 选中通过 Archetype 创建项目
添加 Archetype(第一次使用 Archetype 可能并没有加载出来你的 Archetype ---- spring-boot-jpa-archetype, 只有第一次可能需要手动添加)
下一步
核对信息点完成
等待 maven 自动生成工程
好了, 以后你的团队谁要是创建个可以直接写业务的工程还得 2 分钟, 我, 我, 我就把它借给你:
哈哈哈哈....
如果有任何相关的问题都可以加入 QQ/微信群一起讨论, 学习, 进步. 此外如果有任何对于本公众号的意见和建议也欢迎大家留言积极批评指正, 最后, 愿你我都能成为更好的自己.
我是帅帅, 一个集帅气, 幽默与内涵, 并且热爱编程, 拥抱开源, 喜欢烹饪与旅游的暖男, 我们下期再见. 拜了个拜!
老规矩别忘了哦, 点击原文链接跳转到我们官方的博客平台哦.
悄悄话
————
每文一句
————
Don't aim for success if you really want it. Just stick to what you love and believe in, and it will come naturally.
少一些功利主义的追求, 多一些不为什么的坚持.
日常求赞
————
你们白漂的力量就是我拖更的史诗级动力, 点赞, 评论, 再看, 赞赏, 看都看到这了, 随便点一个咯.
关注加好友
拉你进大佬交流群
————————————————