mvn archetype
- https://maven.apache.org/archetype/index.html
遇到的问题
对于想自定义一个spring-boot-start的同学,比如 Springboot自定义Starter启动器
整个过程很繁琐。
- 定义属性开关
- 增加 spring boot test start插件
- 定义自动装载 spring.factories or org.springframework.boot.autoconfigure.AutoConfiguration.imports
- …
- 也不多,操作一波半小时到一小时过去了…,即使熟悉的也是各种拷贝过来
想通过mvn archetype 可以提供脚手架创建一个基础模板出来,简单的实现了一个,也不是很复杂。
创建一个spring-boot-start的mvn 脚手架
Generate project in batch mode
archetype mvn info
- https://oss.sonatype.org/#nexus-search;quick~kunlun-boot-start-archetype
<dependency><groupId>com.github.WangJi92</groupId><artifactId>kunlun-boot-start-archetype</artifactId><version>0.0.4</version>
</dependency>
create command
- autoConfigName 自动装配的类名称
- propertiesPrefix 自动装配属性的前缀
- author 备注信息的作者
- date 备注信息的时间
- springBootVersion spring 的版本
- “-DartifactId=Lassen” 工程的名称 && mvn 坐标
- “-Dpackage=io.github.example” 包名称
- “-DgroupId=io.github.example” mvn 坐标分组
一键生成命令行 (mac) \ 换行符合
mvn archetype:generate -B "-DarchetypeGroupId=com.github.WangJi92" \"-DarchetypeArtifactId=kunlun-boot-start-archetype" \"-DarchetypeVersion=0.0.4" \"-DgroupId=io.github.example" \"-Dpackage=io.github.example" \"-DartifactId=name-artifactId" \"-DspringBootVersion=2.7.18" \"-DautoConfigName=BootStartExample" \"-DpropertiesPrefix=example.core" \"-Dauthor=author" \"-Dversion=1.0-SNAPSHOT" \"-Ddate=2024-4-13 12:19"
一键生成命令行 (powershell) ` 换行符合
在 PowerShell 中,换行使用的是反引号 (`)。但是在使用时,反引号后面不能有空格或其他字符,要求紧跟着换行
mvn archetype:generate -B "-DarchetypeGroupId=com.github.WangJi92" `"-DarchetypeArtifactId=kunlun-boot-start-archetype" `"-DarchetypeVersion=0.0.4" `"-DgroupId=io.github.example" `"-Dpackage=io.github.example" `"-DartifactId=name-artifactId" `"-DspringBootVersion=2.7.18" `"-DautoConfigName=BootStartExample" `"-DpropertiesPrefix=example.core" `"-Dauthor=author" `"-Dversion=1.0-SNAPSHOT" `"-Ddate=2024-4-13 12:19"
idea add mvn archetype
- How to add the Archetype of Maven project in IDEA
总结
下面就可以愉快的创建一个spring boot start 工程了
效果如下所示