IDEA自定义Maven archetype的方法步骤

 更新时间:2022年03月15日 09:15:42   作者:灯塔下的守望者  
在创建Maven的项目时我们发现了一个很不方便的问题,就是每次创建Maven的工程的时候,都需要选择一个骨架,本文主要介绍了IDEA自定义Maven archetype的方法步骤,感兴趣的可以了解一下

为什么要自定义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

settings.xml文件可能存在两个位置:

Maven安装:${maven.home}/conf/settings.xml用户安装:${user.home}/.m2/settings.xml

前一个settings.xml也称为全局设置,后者的settings.xml称为用户设置。
如果两个文件都存在,它们的内容将被合并,用户特定的settings.xml看作是主要的。
如果从头创建用户特定的设置,最简单的方法是将Maven安装中的全局设置复制到${user.home}/.m2目录
Maven的默认settings.xml是一个包含注释和示例的模板,因此可以快速调整以满足需求。

自定义 archetype 模板时,运行mvn archetype:create-from-project时报错:The specified user settings file does not exist: C:\Users\modao\.m2\settings,原因是用户配置文件不存在,把全局配置文件复制了一份过去就解决了。

执行完毕之后,会出现一个编译之后新的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。

到此这篇关于IDEA自定义Maven archetype的方法步骤的文章就介绍到这了,更多相关IDEA自定义Maven archetype内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • mybatis mapper.xml中如何根据数据库类型选择对应SQL语句

    mybatis mapper.xml中如何根据数据库类型选择对应SQL语句

    这篇文章主要介绍了mybatis mapper.xml中如何根据数据库类型选择对应SQL语句,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-01-01
  • Java中xxl-job实现分片广播任务的示例

    Java中xxl-job实现分片广播任务的示例

    本文主要介绍了Java中xxl-job实现分片广播任务的示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • Java字节流和字符流总结IO流!

    Java字节流和字符流总结IO流!

    下面小编就为大家带来一篇Java IO流字节流和字符流的实例讲解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2021-07-07
  • IDEA2020.2创建springboot项目卡死在reading maven project的问题

    IDEA2020.2创建springboot项目卡死在reading maven project的问题

    这篇文章主要介绍了关于2020.2IDEA用spring Initializr创建maven的springboot项目卡死在reading maven project的问题描述及解决方法,感兴趣的朋友跟随小编一起看看吧
    2020-09-09
  • JAVA的LIST接口的REMOVE重载方法调用原理解析

    JAVA的LIST接口的REMOVE重载方法调用原理解析

    这篇文章主要介绍了JAVA的LIST接口的REMOVE重载方法调用原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10
  • java中Collections.sort排序详解

    java中Collections.sort排序详解

    这篇文章主要介绍了java中Collections.sort排序详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • Java基于Spire Cloud Excel把Excel转换成PDF

    Java基于Spire Cloud Excel把Excel转换成PDF

    这篇文章主要介绍了Java基于Spire Cloud Excel把Excel转换成PDF,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • Java开发者推荐的10种常用工具

    Java开发者推荐的10种常用工具

    这篇文章主要为大家详细介绍了Java开发者推荐的10种常用工具,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-09-09
  • Java抽象类的构造模板模式用法示例

    Java抽象类的构造模板模式用法示例

    这篇文章主要介绍了Java抽象类的构造模板模式用法,结合实例形式分析了java使用抽象类构造模板模式相关操作技巧,需要的朋友可以参考下
    2019-09-09
  • JDBC中Fetchsize的实现

    JDBC中Fetchsize的实现

    fetchsize是指在执行数据库查询时,每次从数据库中获取的记录条数,它对内存使用和网络传输效率有重要影响,在MyBatis中,可以通过全局设置或语句级别设置fetchsize,来控制查询操作的内存使用和提升性能,合理的fetchsize设置能有效减少网络往返次数和防止内存溢出
    2024-09-09

最新评论