自定义ArcheType

背景

为了避免每次新建项目时都要花时间搭项目的框架结构,我们通过自定义Archetype来快速创建项目同时规范项目结构,如层级关系、必有的类、父pom等

自定义流程

  1. 找一个原型项目,需要有项目的标准结构

  1. 确保项目编译无误:
mvn clean install

使用以下命令将现有项目打包为 Archetype:

mvn archetype:create-from-project

此命令将项目转换为 Archetype,并在 target/generated-sources/archetype 目录中生成 Archetype 的源码,最核心的部分就在于怎么修改target/generated-sources/src/main/resources/archetype-resources下的文件

  1. 删除无用的

修改父pom

首先,找到根目录的pom文件,会发现缺少module信息,这个需要加上

<modules>
        <module>${rootArtifactId}-api</module>
        <module>${rootArtifactId}-system</module>
    </modules>

父pom依赖引用的每个module也要修改,groupId 和 artifactId 按照如下的方式来改,不要写死!!

<dependencyManagement>  
        <dependencies> 
            <dependency>    
                <groupId>${groupId}</groupId> 
                <artifactId>${rootArtifactId}-api</artifactId>   
                <version>${project.version}</version>  
            </dependency>  
            ... ...  
        </dependencies> 
    </dependencyManagement>

修改module

默认生成的module可能就是模板项目的名字,需要修改成类似__rootArtifactId__-api这种形式,注意是双下划线,然后module中的互相引用 groupId 和 artifactId 按照父 pom 的方式对应修改。

archetype-metadata 修改

找到META-INF/maven/archetype-metadata.xml文件,修改modules相关的部分,重点注意看 id 、dir、name 的修改方式。

<modules>    
  <module id="${rootArtifactId}-api" dir="__rootArtifactId__-api" 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>

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

mvn install

顺便执行下mvn deploy上传到nexus

使用方式

方式一:通过命令行

mvn archetype:generate -DgroupId=xxx -DartifactId=xxx-xxx -Dpackage=xxx.xxx.xxx -DarchetypeArtifactId=archetype-quickstart -DarchetypeRepository=https://..../catelog/archetype-catalog.xml

使用mvn archetype:generate命令时,如果没有指定版本,maven会使用最新稳定版的archetype‌

方式二:通过 IntelliJ IDEA

  1. 配置Catalog
https://..../catelog/archetype-catalog.xml

参考:https://baijiahao.baidu.com/s?id=1722242604793241553&wfr=spider&for=pc

为了优化Maven配置并提高依赖下载速度,以及自定义Archetype目录来提升项目创建效率,你可以参考《IDEA配置Maven:本地仓库与虚拟机参数优化教程》这份资料。在IntelliJ IDEA中配置Maven,首先需要进入设置界面,确保指定了正确的Maven home directory,以及配置User settings file来使用阿里云镜像。 参考资源链接:[IDEA配置Maven:本地仓库与虚拟机参数优化教程](https://wenku.youkuaiyun.com/doc/4kgco7x09d) 通过修改`settings.xml`文件,你可以加入阿里云提供的镜像地址,例如: ```xml <mirrors> <mirror> <id>aliyunmaven</id> <mirrorOf>central</mirrorOf> <name>阿里云公共仓库</name> <url>***</url> </mirror> </mirrors> ``` 这将帮助你通过阿里云镜像加速依赖的下载过程。 接着,你可以通过`-DarchetypeCatalog=internal`参数来指定本地的archetype-catalog.xml文件,这样在创建Maven项目时,IDEA会优先在本地查找Archetype模板,而不是从远程仓库下载。你需要将该参数添加到VMOptions中,具体路径可能是`{项目目录}/.idea/bin/idea.exe.vmoptions`。 在自定义Archetype目录方面,你可以在`settings.xml`中配置自己的Archetype目录,示例如下: ```xml <archetypeCatalog>internal</archetypeCatalog> ``` 这将使得Maven在创建项目时,使用本地定义的Archetype目录。你可以将常用的Archetype模板放在这个目录下,以便快速重用。 完成以上配置后,重启IDEA使配置生效。现在,当你创建新的Maven项目时,不仅可以利用本地仓库的依赖下载优势,还能快速利用本地定义的Archetype模板,极大提升项目创建和依赖管理的效率。 参考资源链接:[IDEA配置Maven:本地仓库与虚拟机参数优化教程](https://wenku.youkuaiyun.com/doc/4kgco7x09d)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值