【精选】【Springboot】用IDEA创建自定义Maven Archetype |
您所在的位置:网站首页 › idea创建maven工程 › 【精选】【Springboot】用IDEA创建自定义Maven Archetype |
环境 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保持一致即可。 在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文件夹),如下图: 这一步可以理解为生成自定义骨架,先进入骨架项目的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:![]() ![]() 上面我们只是打了一个空架子,回到我们最初的目标:搭建一个用以快速构建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 |