最近公司旧系统重构,要将旧系统功能拆分,新建多个新系统,由于新系统结构相似,为了快速进行系统搭建,希望将其中一个作为模板,创建Maven项目脚手架。
使用Maven Archetype Catalogs插件,根据已有项目,创建Maven项目脚手架,步骤如下:
- idea中安装插件Maven Archetype Catalogs
- 在一个已有的项目(作为模板的项目)中运行 mvn archetype:create-from-project,会在target目录下生成一个archetype目录,这其实是一个脚手架的maven项目
在一个已有的项目(作为模板的项目)中运行 mvn archetype:create-from-project,会在target目录下生成一个archetype目录,这其实是一个脚手架的maven项目
提取该文件,用idea打开。app文件下即为脚手架文件结构,archetype-metadata.xml文件中调整子模块的目录,包含的文件类型等
调整项目结构将groupId artifactId等用占位符替换
完成后使用mvn install命令,把模板安装到本地仓库,安装完成即可在本地仓库看到生成的模板信息。会在本地仓库生成archetype-catalog.xml 文件
(非必须)添加模板到IDEA。(第一步安装的 maven archetype catalogs 插件作用)
创建模板时即可选择刚才创建的脚手架
测试通过后在archetype项目使用mvn deploy命令发布到私服(需要在pom文件中配置私服地址)
给私服下其他人使用
- 方式1:idea中使用
方式二:maven命令形式生成新项目
1234567mvn archetype:generate-DarchetypeGroupId=com.xxx-DarchetypeArtifactId=springbootdemo-DarchetypeVersion=0.0.1-SNAPSHOT-DgroupId={替换你要生成的项目的groupID,如:com.xxx.testdemo}-DartifactId={替换你要生成的项目的artifactId,如:testdemo}-Dversion={替换你要生成的项目的version,如:0.0.1-SNAPSHOT}也可以直接在命令中指定私服地址,但是注意3.0版本以上会报错,所以同时需要指定插件版本:
12345678mvn org.apache.maven.plugins:maven-archetype-plugin:2.4:generate-DarchetypeGroupId=com.xxx-DarchetypeArtifactId=springbootdemo-DarchetypeCatalog=https://repository.apache.org/content/repositories/snapshots/-DarchetypeVersion=0.0.1-SNAPSHOT-DgroupId={替换你要生成的项目的groupID,如:com.xxx.testdemo}-DartifactId={替换你要生成的项目的artifactId,如:testdemo}-Dversion={替换你要生成的项目的version,如:0.0.1-SNAPSHOT}
等一段时间就能看到生成的项目