自定义archetype脚手架

本文指导如何使用Mavenarchetype创建一个具有模块划分的项目,包括调整pom.xml结构、添加子模块、修改包路径和动态参数,并提供IDEA和命令行的使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

创建项目

根据自己的需要先简单创建一个项目,布局调整好,注意子模块使用__rootArtifactId__-xxx进行命名,方便后续替换
在这里插入图片描述

生成模版

进入项目根目录,执行命令:

mvn archetype:create-from-project

在这里插入图片描述

调整模版

修改父pom

找到根目录的​​pom​​文件,会发现缺少module信息,这个必须加上。

<modules>
    <module>${rootArtifactId}-api</module>
    <module>${rootArtifactId}-service</module>
    <module>${rootArtifactId}-model</module>
    <module>${rootArtifactId}-domain</module>
    <module>${rootArtifactId}-common</module>
    <module>${rootArtifactId}-web</module>
</modules>

修改子pom

子pom之间的引用需要调整
在这里插入图片描述
改为
在这里插入图片描述

archetype-metadata 修改

修改​​target/generated-sources/src/main/resources/archetype-resources​​下的文件,用于动态生成项目包,重点注意看 id 、dir、name 的修改方式。

<modules>
    <module id="${rootArtifactId}-api" dir="__rootArtifactId__-client" name="${rootArtifactId}-api">
      <fileSets>
        <fileSet filtered="true" packaged="true" encoding="UTF-8">
          <directory>src/main/java</directory>
          <includes>
            <include>**/*.java</include>
          </includes>
        </fileSet>
      </fileSets>
    </module>
    ... ...
</modules>

加入动态参数,用于指定package

<requiredProperties>
    <requiredProperty key="package">
      <defaultValue>com.demo</defaultValue>
    </requiredProperty>
</requiredProperties>

调整模版

进入对应的类中,修改引入包改为动态 ${package},默认生成的是项目中指定的包,如下
在这里插入图片描述

package ${package}.service.services.impl;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import ${package}.domain.dao.Demo;
import ${package}.domain.mapper.DemoMapper;
import ${package}.service.services.IDemoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;


@Service
public class DemoServiceImpl extends ServiceImpl<DemoMapper, Demo> implements IDemoService {

    @Autowired
    private DemoMapper demoMapper;

    @Override
    public String test() {
        return "demo";
    }
}

所有需要调整的地方都一一修改完

发布

修改完成之后,进入 ​​target/generated-sources/archetype​​目录,执行命令:

mvn install

使用Archetype

命令行使用

执行命令

mvn archetype:generate -DarchetypeCatalog=local

按照提示输入groupId、artifactId 即可

idea使用

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_三石_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值