上一篇# springboot开发,有这个包就够了!介绍了springboot项目开发中常用的基础功能组件封装,本篇基于上一篇产出的springboot基础包依赖,只用一行命令,帮你生成具备基础功能的脚手架,让你不再需要ctrl + c 、ctrl + v创建项目,然你不在需要揪心依赖冲突等重新搭建框架遇到的问题
本项目github 地址github.com/chenxuancod…
什么是archetype
archetype 也就是原型,是一个 Maven 插件,准确说是一个项目模板,它的任务是根据模板创建一个项目结构。
自定义archeType
- 创建一个普通的maven项目
- 定义项目模板
在archetype-resources目录下,即为要生成的脚手架的模板。你认为通用的脚手架功能需要什么只管往里面扔就是。 我这里因为集成了base依赖,所以需要做一些Mybatis-plus分页的配置、Swagger的配置等配置,另外提供了个Generate.java用来生成代码
总之,模板内容按需添加
- 定义模板参数
META-INF/archetype-metadata
<?xml version="1.0" encoding="UTF-8"?>
<arche-type-descriptor name="archetype">
<fileSets>
<fileSet filtered="true" encoding="UTF-8" packaged="true">
<directory>src/main/java</directory>
<includes>
<include>**/*.*</include>
</includes>
</fileSet>
<fileSet filtered="true" packaged="true">
<directory>src/test/java</directory>
<includes>
<include>**/*.java</include>
</includes>
</fileSet>
<fileSet filtered="true" packaged="false">
<directory>src/main/resources</directory>
<includes>
<include>**/*.yml</include>
</includes>
</fileSet>
</fileSets>
<requiredProperties>
<requiredProperty key="port"/>
<requiredProperty key="groupId">
<defaultValue>com.sleeper</defaultValue>
</requiredProperty>
<requiredProperty key="artifactId">
<defaultValue>demo</defaultValue>
</requiredProperty>
<requiredProperty key="package">
<defaultValue>${groupId}.${artifactId}</defaultValue>
</requiredProperty>
<requiredProperty key="version">
<defaultValue>1.0.0-SNAPSHOT</defaultValue>
</requiredProperty>
</requiredProperties>
</arche-type-descriptor>
复制代码
requiredProperties节点内定义了项目模板的变量参数,这些参数可以在mvnarchetype:generate
命令生成脚手架时候传入。
生成项目
- 使用Maven install 编译archetype项目
- 使用mvn archetype 命令生成项目
mvn archetype:generate -DarchetypeGroupId=com.sleeper -DarchetypeArtifactId=archetype -DarchetypeVersion=1.0.0-SNAPSHOT -DgroupId=com.sleeper -DartifactId=demo -Dport=8888
复制代码