maven archetype生成项目骨架的核心是“造模板+推模板+用模板”三步闭环:先基于现成项目执行mvn archetype:create-from-project生成标准化模板并排除无关文件;再注入企业规范,如统一依赖、代码检查规则和必填参数;最后通过mvn install或mvn deploy发布到本地或私服,供团队用mvn archetype:generate一键创建合规新项目。

直接用 Maven Archetype 插件生成符合企业规范的项目骨架,核心不是“选模板”,而是“造模板+推模板+用模板”三步闭环。重点在于把公司已有的技术栈、分层结构、编码约束打包进一个可复用的 archetype,而不是每次手动复制粘贴。
第一步:基于现成项目生成标准化模板
挑一个当前维护良好、结构清晰的 DDD 或 Spring Boot 项目作为蓝本(比如已接入统一日志、权限、数据库连接池、Swagger 的项目),在它的根目录执行:
-
mvn archetype:create-from-project -Darchetype.properties=archetype.properties,其中 archetype.properties 内容需明确排除 IDE 文件、临时文件、本地配置等无关项,例如:
excludePatterns=**/.idea/**,**/*.iml,**/target/**,**/logs/** - 生成的模板会落在
target/generated-sources/archetype目录下,它就是一个标准 Maven 项目,但pom.xml的<packaging></packaging>已自动设为maven-archetype - 检查
src/main/resources/archetype-resources是否包含完整目录结构(如src/main/java、src/main/resources、src/test)和关键文件(如application.yml、logback-spring.xml)
第二步:注入企业级规范与约束
光有结构不够,要让新项目“天生合规”。关键动作包括:
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
- 在模板项目的
pom.xml中预置企业私库地址、统一依赖管理(<dependencymanagement></dependencymanagement>)、强制 JDK 版本、UTF-8 编码、Maven 编译插件配置 - 把 Checkstyle、PMD、SpotBugs 规则文件(如
checkstyle.xml)放进src/main/resources/archetype-resources,并在pom.xml中声明对应插件绑定到validate生命周期 - 在
archetype-metadata.xml的<requiredproperties></requiredproperties>中定义必填参数,比如:<requiredproperty key="companyName"><defaultvalue>mycorp</defaultvalue></requiredproperty>
这样生成时会提示输入公司名,用于动态替换包路径和项目描述
第三步:安装并发布,让团队一键拉取
模板做完后必须让它“可用”,不能只存在本地:
- 进入
target/generated-sources/archetype目录,执行 mvn clean install —— 这会把 archetype 注册进本地~/.m2/repository,同时更新archetype-catalog.xml - 若要全团队共享,需部署到公司 Nexus 或 Artifactory 私服:
mvn deploy -DskipTests,前提是pom.xml中已配置好<distributions></distributions>和私服认证信息 - 验证是否生效:新开命令行,运行
mvn archetype:generate -DarchetypeCatalog=local(本地)或-DarchetypeCatalog=remote(私服),应能列出你发布的 archetype(如com.mycorp:ddd-archetype:1.2.0)
第四步:团队日常使用——一行命令启动新项目
开发者不再需要打开 IDEA 新建项目、删文件、改配置。只需:
- 在目标目录执行:
mvn archetype:generate \<br> -DarchetypeGroupId=com.mycorp \<br> -DarchetypeArtifactId=ddd-archetype \<br> -DarchetypeVersion=1.2.0 \<br> -DgroupId=com.mycorp.order \<br> -DartifactId=order-service \<br> -Dpackage=com.mycorp.order \<br> -DcompanyName=mycorp
- 回车确认后,几秒内生成完整项目:含四层包结构(interfaces/application/domain/infrastructure)、预置 Swagger 配置、统一异常处理器、带占位符的数据库连接、甚至已集成企业 SSO SDK 的 starter 依赖
- 导入 IDEA 后,代码风格检查、单元测试覆盖率要求、Git 提交钩子等全部就绪,开写业务逻辑即可
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










