现在是
加载中...
加载中...

2022/03/14 验证通过

文章更新历史

2022/03/03 初稿。

原文地址:http://www.terwergreen.com/post/idea-zi-ding-yimaven-archetype.html

为什么要自定义archetype

在创建Maven的项目时我们发现了一个很不方便的问题,就是每次创建Maven的工程的时候,都需要选择一个骨架,但是每个骨架都需要删除一部分东西才行,在平时开发中,如果是分布式项目,有可能会频繁创建子项目,每次都要删除不要的文件然后拷贝我们要的文件,例如弹簧配置,web.xml中配置等。这样做不仅会浪费大量时间,拷贝和删除文件也容易导致错误的发生,比如漏拷某文件。

Archetype maven 项目的组成

一个典型的Archetype Maven项目主要包括如下几个部分:

  • pom.xml:Archetype自身的POM。
  • src/main/resources/archetype-resources/pom.xml:基于该Archetype生成项目的POM原型。
  • src/main/resources/META-INF/maven/archetype-metadata.xml:Archetype的描述符文件。
  • src/main/resources/archetype-resources/**:其他需要包含在Archetype中的内容。

创建自己的骨架结构

要创建Maven的模板,首先你要创建一个Maven的项目,然后再以这个项目作为模板。

创建maven工程

首先创建一个Maven的工程,名字叫maven-template-java-simple

选择骨架

骨架创建

在maven-template-java-simple根目录执行

mvn archetype:create-from-project

报错解决

mvn archetype:create-from-project报错The specified user settings file does not exist

https://www.cnblogs.com/chmod/p/15489910.html

执行完毕之后,会出现一个编译之后新的maven工程(target文件夹),如下图:

骨架安装

安装对应骨架项目

先进入骨架项目的pom文件目录:

cd target/generated-sources/archetype

执行安装:

mvn clean install

我们的骨架项目坐标如下:

<groupId>com.terwergreen</groupId>
<artifactId>maven-template-java-simple-archetype</artifactId>
<version>1.0.0</version>
<packaging>maven-archetype</packaging>

至此,骨架项目安装成功。

使用自己创建的自定义骨架

创建新的Maven工程,选择自定义骨架

添加骨架

创建新的maven工程,选择Add Archetype,填写刚才添加的骨架工程坐标,点击OK,这是会生成一个新的骨架选项。

groupId com.terwergreen
artifactId maven-template-java-simple-archetype
version 1.0.0

选中新创建的骨架,点击下一步创建新的Maven的项目如下,这是新建的测试项目:

以后再创建类似的Maven的项目时,就可以快速新建的Maven项目而不用改来改去了。是不是很方便呢?

PS:删除自定义archetype

cd /Users/terwer/Library/Caches/JetBrains/IntelliJIdea2021.3/Maven/Indices

然后编辑 UserArchetypes.xml 文件即可。注意:修改文件之后需要重启IDEA。

作者:Terwer

首发:浅海拾贝

原创内容,转载请注明出处!

评论