前言

在 IDEA 中点击新建 Maven 模块,会发现他已经为我们罗列出来了许多的 archetype,但有些时候满足不了我们的需求。下面就来看看如何添加自己的脚手架吧。

实现过程

新建模块

在 IDEA 中新建一个模块,需要保证每个目录下都至少有一个文件,不然打包的时候那个文件夹会被忽略掉,这里使用的项目结构如下图所示:

创建脚手架并打包

  1. 打开终端,cd 到这个模块的根目录,比如这里是 D:/Java_Study/idea_projects/springmvc-course/ssm-quickstart,然后运行 mvn archetype:create-from-project,等待构建完成。
  2. 接着 cd 到生成的 target/generated-sources/archetype 目录,运行 mvn install,这时候会将项目打包到本地仓库。

添加脚手架

在 IDEA 中新建一个模块,选择 Maven --> 从原型创建 --> 添加原型,之后在弹出的对话框中填入坐标和版本号,需要注意的是工件 ID 的最后应该有 -archetype 后缀。

当你自信满满地完成以上步骤之后,可能会碰到一个问题:怎么回事小老弟,列表中怎么没有出现刚刚添加的脚手架嘞?遇事不决,重启一波,发现还是没用。

这时候需要去 C:/Users/[你的用户名]/AppData/Local/JetBrains/IntelliJIdea2021.2/Maven/Indices 目录下,创建一个 UserArchetypes.xml 文件,内容参考如下:

<archetypes>
<archetype groupId="com.zhiyiyo" artifactId="ssm-quickstart-archetype" version="1.0" />
</archetypes>

重启一波 IDEA,新建模块,这时候就会发现原型列表中出现了我们自定义的脚手架:

如何在 IDEA 中添加 Maven 项目的 Archetype(解决添加不起作用的问题)的更多相关文章

  1. eclipse 修改maven项目的jdk版本

      eclipse 修改maven项目的jdk版本 CreationTime--2018年6月8日10点29分 Author:Marydon 1.情景展示 jdk版本太低,如何修改 2.错误方式 第一 ...

  2. IDEA Maven项目的Mybatis逆向工程

    IDEA Maven项目的Mybatis逆向工程 1.配置.pom 如果是在多模块开发下,该文件逆向工程要生成的那个模块下的pom文件. <build> <plugins> & ...

  3. Unity中加入Android项目的Build步骤

    转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! 简介: 有的项目需要在Android中加入Unity功能,例如ANDROID应用中嵌入Un ...

  4. eclipse 导入包含子maven项目的maven项目时的正确方式(父子项目)

    eclipse 导入包含子maven项目的maven项目时的正确方式(父子项目) NO1 导入时依次选择 import > Maven > Existing Maven Projects ...

  5. 如何在MyEclipse中使用Maven

    https://jingyan.baidu.com/article/fd8044facb9bc85031137a91.html?qq-pf-to=pcqq.group Maven不仅是一个构建工具,还 ...

  6. 【MAVEN】如何在Eclipse中创建MAVEN项目

    目录结构: contents structure [+] 1,Maven简介 2,Maven安装 2.1,下载Maven 2.2,配置环境变量 2.3,测试 3,Maven仓库 3.1,Maven仓库 ...

  7. maven项目的pom.xml文件详解

    <project xmlns="http://maven.apache.org/POM/4.0.0 " 2 xmlns:xsi="http://www.w3.org ...

  8. 回顾maven项目的spring boot相关知识点

    2021新年快乐! 在参加完研究生考试后,感觉像是放下了一个大负担,但并不能就此以为什么都结束了.反而,当我今天去看了一下之前老师带领我们班级做的一个maven项目,感觉像是第一次看到这个,十分陌生. ...

  9. Eclipse中修改Web项目的URL访问路径

    背景 访问路径,也就是指在浏览器中访问该web系统时的根路径,比如http://localhost:8080/xxxx/index.jsp  这里的xxxx,也就是request.getContext ...

随机推荐

  1. 分割字符串StringTokenizer

    StringTokenizer 原来是一个遗留类,并未被废弃,只是出于兼容性原因而被保留,在新代码中已经不鼓励使用它了,建议使用 String 的 split 方法或 java.util.regex ...

  2. RTD2171U替代方案|CS5266Typec转HDMI 4K60HZ转换芯片方案|CS5266芯片

    RTD2171U 是一款USB Type-C到HDMI转换器结合了USB Type-C输入接口和数字高清多媒体接口(HDMI)输出转换芯片.嵌入式微控制器基于工业标准8051内核.接收器端口将信道配置 ...

  3. docker容器跨主机网络overlay

    前提:已部署好docker服务服务预计部署情况如下10.0.0.134 Consul服务10.0.0.135 host1  主机名mcw510.0.0.134 host2  主机名mcw6host1与 ...

  4. Swoole 中使用 HTTP 异步服务器、HTTP 协程服务器

    HTTP 异步风格服务器 # http_server.php $http = new Swoole\Http\Server("0.0.0.0", 9501); // 设置服务器运行 ...

  5. python + requests发起请求,接口返回400,报错“Unexpected character encountered while parsing value: G. Path”

    完整报错信息如下: {'errors': {'': ["Unexpected character encountered while parsing value: G. Path '', l ...

  6. Pytest_用例执行顺序(5)

    在unittest中,测试用例的执行顺序与测试用例的名称有关,按照名称的ascii码排序的,并不是按照用例的编写顺序执行的. pytest默认是按用例的编写顺序执行的 我们可以通过第三方包 pytes ...

  7. RabbitMQ --- 直连交换机 【 无回调方法,不能获取消费结果 】

    1.前言 消息队列除了kafka 外,还有许多种,比如RabbitMQ .ActiveMQ.ZeroMQ.JMQ等. 老牌的ActiveMQ ,底层使用Java写的,资源消耗大,速度也慢,但是适合 J ...

  8. 查看磁盘I/O命令iostat详解

    iostat是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视.它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况.iostat也有一个弱 ...

  9. js 关于replace() 的使用心得

    1.前言 我想把一段话 let a = "抱歉,您当前的主治医生有紧急情况不得不下班,您的预约将由<br>医生:里斯<br>为您就诊,<br>诊室位置:门 ...

  10. vue2.0组件库

    UI组件 element - 饿了么出品的Vue2的web UI工具套件 Vux - 基于Vue和WeUI的组件库 mint-ui - Vue 2的移动UI元素 iview - 基于 Vuejs 的开 ...