【精选】【Springboot】用IDEA创建自定义Maven Archetype

您所在的位置:网站首页 idea创建maven工程 【精选】【Springboot】用IDEA创建自定义Maven Archetype

【精选】【Springboot】用IDEA创建自定义Maven Archetype

2023-11-03 06:59| 来源: 网络整理| 查看: 265

环境 IntelliJ IDEA 2022.1 (Ultimate Edition) JDK 1.8 maven 3.6.0

文章目录 前言一、Maven Archetype是什么?二、Maven Archetype项目基本组成三、创建自定义Maven Archetype1.以Maven方式构建项目2.创建Archetype3.Archetype Install 四、自定义Archetype导入及使用五、Springboot骨架构建总结

前言

提示:这里idea版本为IntelliJ IDEA 2022.1 (Ultimate Edition)

笔者在2022年月才用IDEA进行Springboot的相关学习,所以在查阅相关资料时发现单单创建peoject这个步骤就已经有了变化,在2022.1版本中,Java/Kotlin/JavaScript等新项目都是从New Project入口创建,而且将Maven Archetype单做做了一个入口,在本文中将描述自定义一个Maven Archetype的过程,并将其实际应用。

一、Maven Archetype是什么?

Archetype即是项⽬⾻架,在老版本IDEA中创建Maven项⽬时,每次都会选择⼀个项⽬⾻架,每个⾻架对应特定的原型,在项⽬开发中,总会需要⾃定义⾃⼰项⽬的⾻架,统⼀项⽬⾻架,在创建新的服务时就会减少很多不必要的⿇烦。2022.1版本的IDEA将入口收敛至Maven Archetype,使用项目骨架均从该入口创建新项目。

二、Maven Archetype项目基本组成

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

pom.xml Maven 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 Archetype 1.以Maven方式构建项目

要创建Maven Archetype,首先你要创建一个Maven的项目,然后再以这个项目作为模板。 File->New Project,笔者这里打算建一个Springboot的骨架项目,因此命名为:maven-template-springboot-simple,Build system选择 Maven,jdk选择1.8。GroupId 自定义即可, ArtifactId 和Name保持一致即可。在这里插入图片描述

2.创建Archetype

在maven-template-springboot-simple根目录执行:

mvn archetype:create-from-project

首次尝试后,报错:

[ERROR] The specified user settings file does not exist: C:\Users\BigStone\.m2\settings.xml [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 02:00 min [INFO] Finished at: 2022-05-14T12:56:36+08:00 [INFO] ------------------------------------------------------------------------

我们来看Maven的配置文件,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是一个包含注释和示例的模板,因此可以快速调整以满足需求。 因此,自定义Maven Archetype时,运行mvn archetype:create-from-project时报错:The specified user settings file does not exist: C:\Users\BigStone.m2\settings,原因是用户配置文件不存在,把全局配置文件复制了一份过去就解决了。这里的用户路径根据用户名不同做相应替换即可。 重新执行本节最开始的命令,执行完毕之后,会出现一个编译之后新的maven工程(target文件夹),如下图: 在这里插入图片描述

3.Archetype Install

这一步可以理解为生成自定义骨架,先进入骨架项目的pom文件目录:

cd target/generated-sources/archetype

执行install:

mvn clean install

至此,我们的Archetype已经创建完毕,对应的项目坐标为:

com.hx.bigstone maven-template-springboot-simple-archetype 1.0-SNAPSHOT maven-archetype

在本地Maven仓库中,也可以看到我们构建的Maven Archetype项目: 在这里插入图片描述

当然,本章只是单纯展示了如何构建一个Maven Archetype项目,但是其实里面并没有任何内容,达不到快速构建项目和加快配置的需求,因为我们将在第五章对该项目进行一次升级丰富,使其作为一个合格的springboot骨架。

四、自定义Archetype导入及使用 以Maven Archetype创建一个新的项目:File->New Project->Maven Archetype: 在这里插入图片描述 注意:这里的Catalog选择Default,指向本地maven仓库,这里还没有深入研究,后续补充。添加自定义Archetype 在上图的Archetype一栏,点击Add…按钮,并填入第四章第3节的Archetype项目信息: 在这里插入图片描述直接create项目即可,后续再使用该Archetype时,直接从Archetype栏目后的下拉框选择即可,并可在Version栏指定相应的版本。 五、Springboot骨架构建

上面我们只是打了一个空架子,回到我们最初的目标:搭建一个用以快速构建Springboot项目的基准项目,所以我们决定丰富我们的内容。 我们还是在maven-template-springboot-simple-archetype这个项目上进行迭代,注意版本号升级:

1.0.0

之后就是丰富代码结构,更新配置,添加引用等这里不放细节和过程了,大致的代码结构如下: 重复执行第三章第3节介绍的Archetype Install操作即可。 代码资源:https://gitee.com/stone_yang/springboot-quick-start

总结

Archetype其实就是脚手架/骨架,方便快速构建项目,不必要每次构建项目都要写各种各样的配置文件,弄得身心疲惫。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3