通过一个简单的Demo来阐述脚手架的使用,在此之前,假设您已经:
- 拥有 Java 开发环境(JDK1.8)并配置好环境变量
- 已安装IDE-IntelliJ IDEA
- IDEA已安装Lombok插件
- 已安装Maven 3.5+ 并配置好环境变量
- 熟悉 Maven
备注:JDK环境、IDEA、IDEA插件、Maven的基础开发环境安装配置不再赘述。
1、基础环境确认:
JAVA环境: java -version
Maven环境:mvn -version
2、Maven私服配置
编辑$MAVEN_HOME/conf/settings.xml文件(请确保修改的是对应Maven环境变量下的),在mirrors下添加mirror标签(示例,请填写实际nexus私服地址):
<mirror><id>fesionNexus</id><mirrorOf>*</mirrorOf><url>http://120.79.209.180/repository/maven-public</url></mirror>
3、 Nexus私服环境确认
确认脚手架和poros基础依赖已发布到步骤2的nexus私服中
- 打开nexus私服页面,进行搜索archetype-init-archetype,确认脚手架是否已经发布

- 搜索poros-common,确认common模块是否已经发布
- 搜索poros-parent,确认poros-parent模块是否已经发布

- 确认OK后,进行下一步
3、使用脚手架创建微服务Project
- 打开IDEA->”New Project”,选中“Create from archetype”,点击“Add Archetype…”

填写脚手架archetype GAV(GroupId、ArtifactId、Version),配置了私服后Repository为空即可。
<dependency> <groupId>cn.fesion.archetype.init</groupId> <artifactId>archetype-init-archetype</artifactId> <version>1.0.0</version> </dependency>选中要使用的archetype,点击”Next”

- 填写服务Name、GAV等。统一格式:
groupId:cn.fesion.系统简称.服务名 (例如:cn.fesion.wms.warehouse) artifactId:服务名(例如:wms-warehouse) 项目名:服务名(例如:wms-warehouse)

- 确认无误后,点击”Next”。
- 选择maven路径,点击“finish”

- 等待maven构建完成,基于Poros微服务开发脚手架创建的服务项目就完成了。

- 运行程序前确认环境信息
- Mysql环境确认(5.7以上),运行程序单表增删改查使用
- 配置确认
mybatis-plus: 配置的路径改为自己服务的路径
metadata 的描述改为自己服务的描述

端口修改(暂未使用k8s集群,故服务的端口号不能一样),根据预先定义的设置:
添加 .gitignore 文件:
target
bin
bak
.pmd
.project
.settings
.classpath
.idea.xml
.idea
*.class
*.bak
*.iml
*.ipr
*.iws
bak
null/
tree.log
tmp/
velocity.log
.DS_Store
logs
.m2
# gradle related ignore in sub directories
.gradle
build
out

- Nacos环境确认
请在xx-service-svc模块main/resouces/bootstrap.yml中修改成相应的Nacos服务地址,包含config和discovery。
若没有Nacos环境,可增加配置先禁用:spring.cloud.nacos.config.enabled = false和spring.cloud.nacos.discovery.enabled = false - Sentinel环境确认
请在xx-service-svc模块main/resouces/bootstrap.yml中修改成相应的Sentinel服务地址。
若没有sentinel环境,可增加配置先禁用:- 运行程序
运行XX-service-svc/src/main/java/相应package下/Application.java中main方法。
- 运行程序
