从 0 到 1 搭建 java 后端开发脚手架

2023-06-0514:10:56后端程序开发Comments1,046 views字数 2015阅读模式

一、脚手架是什么

脚手架是一种基础设施工具,用于快速生成项目的框架代码和文件结构。它是一种标准化的开发工具,使开发人员能够在项目的早期阶段快速搭建出一个具备基本功能和结构的系统。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/44598.html

二、脚手架的意义

主流的微服务架构体系下很多公司会将原有的单体架构或者繁重的微服务进行拆分。这个时候按照模块 (商品、订单、用户、库存、优惠、搜索、管理后台..)、按照领域驱动设计 (投保、理赔、支付、保单管理) 等进行拆分就需要很多的微服务项目,如果一个一个的去创建微服务其实是在做重复的工作容易出错而且没有意义,浪费人力物力。这个时候基础性的持久层、日志、异常处理、权限控制等在项目创建时一起生成不仅减少了重新创建或部分复制带来的风险而且高效。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/44598.html

三、脚手架的创建

3.1 编写项目模版

首先我们要有一个基础项目的模板,这个模板中集成了开发时所需要的常用配置,你可以自己搭建,或者找一个基础项目如:SpringBoot 项目中已经引入了 MyBatis-Plus, Redis, Logback, Hutool, Swagger-UI 等。或者将公司的架构沉淀出一个基础项目的模板。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/44598.html

springboot 模版项目:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/44598.html

从 0 到 1 搭建 java 后端开发脚手架文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/44598.html

3.2 生成脚手架

3.2.1 使用 idea 打开项目模板

使用 IDEA 打开基础项目,查看一下 maven 的配置路径,搭建过程中要保证 maven 路径始终一致,我的 maven 路径如下。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/44598.html

从 0 到 1 搭建 java 后端开发脚手架文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/44598.html

D:/Program Files/apache-maven-3.2.5
D:\Program Files\apache-maven-3.2.5\conf\settings.xml
D:\Program Files\apache-maven-3.2.5\repository

然后运行一下项目,要确保基础项目是正常的。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/44598.html

3.2.2 注意版本号

然后留意一下 pom.xml 文件中的项目 gvn,这是项目的版本号,也与下文生成模板的版本号有关。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/44598.html

从 0 到 1 搭建 java 后端开发脚手架文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/44598.html

org.springframework.boot.demo
springbootstagedemo
0.0.1SNAPSHOT

3.2.3 构建脚手架

方式一:打开命令行窗口 Terminal ,正常情况指向的是本项目的目录,如果不是则 cd 到本项目,然后输入:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/44598.html

mvn archetype:create-from-project #从已有的项目中生成 archetype.文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/44598.html

方式二:当前项目所在文件夹下执行文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/44598.html

eg: 项目的跟路径为 D:\spring-staggingcmd 下执行
d:
cd D:\spring-stagging
mvn archetype:create-from-project文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/44598.html

执行完成后脚手架项目也就创建完成,生成如下所示的结构文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/44598.html

从 0 到 1 搭建 java 后端开发脚手架
注:这里如果生成的是如下所示的结构文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/44598.html

解决办法 1. 调整如图所示的 artifactId 与 module 前缀一致文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/44598.html

从 0 到 1 搭建 java 后端开发脚手架文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/44598.html

将产生的 target 目录移动到新的目录,打开 gitbash 进行如下操作文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/44598.html

删除 idea 的相关文件
rm -rf .idea
find . -name " .iml" -type f -print -exec rm -rf {} ;
删除不需要的实例代码 find . -name "xxxMain" -type f -print -exec rm -rf {} ;
eg: 将脚手架放到 D:\spring-stagging-archetype 目录下,目录下主要存放 src 和 pom 文件即可文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/44598.html

3.2.4 发布脚手架

用 idea 打开后配置 maven文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/44598.html

在创建项目的时候也要保证 maven 的一致否则不能找到对应的脚手架 pom文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/44598.html

从 0 到 1 搭建 java 后端开发脚手架文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/44598.html

配置 distributionManagement 后 deploy 到 artifactId 仓库
否则创建的时候:Could not find artifact org.springframework.boot.demo:spring-boot-stage-demo-archetype:pom:0.0.1-SNAPSHOT文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/44598.html

      
        
          xxx-central
          libs-releases-local
          http://artifactory.66.com/libs-releases-local
        
        
          xxx-snapshots
          libs-snapshot-local
          http://artifactory.66.com/libs-snapshots-local
        
      

pom 里的 gav 就是以后创建项目时用到的脚手架的 gav文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/44598.html

org.springframework.boot.demo
  spring-boot-stage-demo-archetype
  0.0.1-SNAPSHOT
  maven-archetype

从 0 到 1 搭建 java 后端开发脚手架文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/44598.html

上传脚手架项目到 git 代码仓库保存便于以后更新和沉淀。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/44598.html

四、使用脚手架创建新的项目

4.1 配置脚手架的 gav

从 0 到 1 搭建 java 后端开发脚手架文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/44598.html

4.2 填写要创建的目标项目的 gav

从 0 到 1 搭建 java 后端开发脚手架文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/44598.html

4.3 配置 maven

从 0 到 1 搭建 java 后端开发脚手架文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/44598.html

4.4 根据新的 artifactId 生成新的工程

从 0 到 1 搭建 java 后端开发脚手架文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/44598.html

五、参考文档

https://maven.apache.org/archetype/maven-archetype-plugin/文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/44598.html

作者:京东健康 马仁喜文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/44598.html

来源:京东云开发者社区文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/44598.html

文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/44598.html
  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/bc/44598.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定