手把手教你制作一个基于DDD的Maven脚手架,省时省力还省心!

开发 架构
为什么要这样做?这是因为默认情况下,脚手架模板会忽略空的文件夹,而我们通过添加 .keep 文件,能够保证在后续创建项目时,这些空文件夹会被自动生成,包名也能对得上。

有粉丝问我:“用DDD开发项目时,每个业务模块都要包含四个分层:接口层(Interface Layer)、应用层(Application Layer)、领域层(Domain Layer)、基础设施层(Infrastructure Layer)。问题来了,每次创建一个新的业务模块,都得手动创建这四个Maven模块,手动添加简直太麻烦了!有没有什么更快捷的方式?”

别担心,今天就来解决这个问题:手把手教你如何制作一个Maven脚手架,轻松提高开发效率,避免重复劳动,直接提升幸福感!

1、生成脚手架原型工程

步骤一:创建基于DDD的多模块项目 ddd-archetype

首先,创建一个基于DDD的多模块项目 ddd-archetype,在这个项目中,我们需要添加DDD的分层模型。看图:

图片图片

在每个具体的模块中,我们要创建DDD需要的 java package,并且在这些空包中创建一个名为 .keep 的空文件。

为什么要这样做?这是因为默认情况下,脚手架模板会忽略空的文件夹,而我们通过添加 .keep 文件,能够保证在后续创建项目时,这些空文件夹会被自动生成,包名也能对得上。

同时,在ddd-archetype项目的 pom.xml 文件中,需要引入 maven-archetype 插件,通过此插件可以生成脚手架原型工程文件。

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-archetype-plugin</artifactId>
            <version>3.3.1</version>
        </plugin>
    </plugins>
</build>

再创建一个名为 archetype.properties 的配置文件,内容如下:

excludePatterns=.idea/*,.git,*.iml,.idea/
gitignore=.gitignore

好了,准备工作完成,接下来进入最重要的步骤!

步骤二:生成原型文件

接着,打开IDEA,找到右侧的 Maven 插件管理器,选择并执行 archetype:create-from-project 命令,这样就能生成原型文件了!

图片图片

执行完后,你会在 ddd-archetype 项目的 target 文件夹下找到生成的原型工程。在这个原型文件里,已经生成了五个模块目录。这就是我们准备好的“模板”,未来的新项目都可以直接用它来快速搭建!

图片图片

打开生成的文件可以发现有不少占位符,解释如下:

  • _rootArtifactId_:文件夹名替换用。比如:_rootArtifactId_-dao,用来动态获取父工程的 ArtifactId。
  • ${rootArtifactId}:保存用户输入的值作为项目名,简单来说,它就是你在创建项目时输入的名字。
  • ${artifactId}:如果项目只有一个模块,这个值跟 ${rootArtifactId} 相同;如果有多个模块,它会被替换成每个模块的名字。
  • ${groupId}:你为项目提供的 groupId,Maven 会在提示时询问你。
  • ${version}:就是版本号,老实说,它可以是你想要的任何数字,但通常我们会用 1.0-SNAPSHOT。

2、将脚手架安装到本地

接下来,我们要做的就是安装这个脚手架。进入刚刚生成的原型文件夹,执行 mvn clean install 命令,安装脚手架到本地。

$ pwd                                                                     
D:\GitSpace\ddd-archetype\target\generated-sources\archetype

$ mvn clean install

执行完后,你会看到类似如下的日志,表示脚手架安装成功:

[INFO] --- maven-archetype-plugin:3.3.1:update-local-catalog (default-update-local-catalog) @ ddd-archetype-archetype ---
[INFO] Updated local archetypes catalog D:\maven\repository\archetype-catalog.xml
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  1.526 s
[INFO] Finished at: 2024-12-02T16:01:52+08:00
[INFO] ------------------------------------------------------------------------

安装成功后,archetype-catalog.xml 文件会被更新,这个文件决定了在哪里寻找可以运行的原型来生成目标项目。打开它,你会看到自己刚刚创建的脚手架内容:

<archetype>
    <groupId>com.jianzh5</groupId>
    <artifactId>ddd-archetype-archetype</artifactId>
    <version>1.0-SNAPSHOT</version>
    <description>ddd-archetype-archetype</description>
</archetype>

3、应用脚手架,快速生成DDD项目

好了,最后一步,开始用脚手架创建你的DDD项目!在IDEA中,创建新项目时,先配置 Maven Catalogs,如下图所示,添加一个名为 ddd 的 Catalog,Location 选择 archetype-catalog.xml 所在目录(在我这里是 D:\maven\repository)。

图片图片

然后输入你想要创建的项目名称,点击“创建”,你就能根据选定的脚手架生成一整套的模块目录,效果如下:

图片图片

图片图片

以后只需要选个脚手架模板,输入项目名,剩下的交给脚手架来搞定!

责任编辑:武晓燕 来源: JAVA日知录
相关推荐

2019-09-08 23:13:09

Git日志开源

2012-03-23 08:34:40

2011-05-27 10:02:42

Shell

2021-06-22 10:43:03

Webpack loader plugin

2018-05-09 09:44:51

Java分布式系统

2019-08-26 09:25:23

RedisJavaLinux

2022-06-28 15:29:56

Python编程语言计时器

2022-09-22 12:38:46

antd form组件代码

2021-08-31 10:02:10

KubernetesLinux集群

2018-11-22 09:17:21

消息推送系统

2022-08-26 08:01:38

DashWebJavaScrip

2016-11-01 09:46:04

2021-07-14 09:00:00

JavaFX开发应用

2011-11-30 15:29:30

台式机用户体验

2011-01-10 14:41:26

2011-05-03 15:59:00

黑盒打印机

2017-06-12 16:37:10

Web设计PS网站构架

2021-07-28 20:09:41

平台

2021-11-10 11:40:42

数据加解密算法

2023-11-28 07:36:41

Shell脚本部署
点赞
收藏

51CTO技术栈公众号