介绍:公司内部会制定自己的规范及包结构。当创建新项目的时候就需要选择骨架,即可生成包结构。本文章简单介绍如何创建,解决遇到的各种问题。

一、创建项目。

idea点击file--->new--->project--->点击左侧的Spring initializr-

图2

创建自己的各种包,及配置。包括pom.xml;yml;

二、命令生成骨架

根目录执行mvn archetype:create-from-project

如图所示:

执行正常结果图

再进入target\generated-sources\archetype 这个目录执行:mvn clean install;就把骨架安装到仓库中了。

其他人用这个骨架,就可以把仓库文件复制过去。使用

如果执行第一步失败;见问题处理。

三、选择骨架,创建新项目

idea点击file--->new--->project--->点击左侧的Maven----->选中复选框create from archetype----->选择自己的骨架。填写包路径,项目名称就可以了

如果不展示自己的骨架,见问题处理

四、遇到的问题

错误1.执行mvn archetype:create-from-project命令失败;如图

错误日志


PS D:\pro819\democode\demo> mvn archetype:create-from-project
[INFO] Scanning for projects...
[INFO]
[INFO] --------------------------< com.example:demo >--------------------------
[INFO] Building demo 0.0.1-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] >>> maven-archetype-plugin:3.2.0:create-from-project (default-cli) > generate-sources @ demo >>>
[INFO]
[INFO] <<< maven-archetype-plugin:3.2.0:create-from-project (default-cli) < generate-sources @ demo <<<
[INFO]
[INFO]
[INFO] --- maven-archetype-plugin:3.2.0:create-from-project (default-cli) @ demo ---
[INFO] Setting default groupId: com.example
[INFO] Setting default artifactId: demo
[INFO] Setting default version: 0.0.1-SNAPSHOT
[INFO] Setting default package: com.example.demo
[WARN] Maven will be executed in interactive mode, but no input stream has been configured for this MavenInvoker instance.
[INFO] Scanning for projects...
[INFO]
[INFO] ---------------------< com.example:demo-archetype >---------------------
[INFO] Building demo-archetype 0.0.1-SNAPSHOT
[INFO] --------------------------[ maven-archetype ]---------------------------
[INFO]
[INFO] --- maven-resources-plugin:3.2.0:resources (default-resources) @ demo-archetype ---
[WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Using 'null' encoding to copy filtered properties files.
[INFO] Copying 104 resources
[INFO]
[INFO] --- maven-resources-plugin:3.2.0:testResources (default-testResources) @ demo-archetype ---
[WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Using 'null' encoding to copy filtered properties files.
[INFO] Copying 2 resources
[INFO]
[INFO] --- maven-archetype-plugin:3.2.0:jar (default-jar) @ demo-archetype ---
[INFO] Building archetype jar: D:\pro819\democode\demo\target\generated-sources\archetype\target\demo-archetype-0.0.1-SNAPSHOT.jar
[INFO] Building jar: D:\pro819\democode\demo\target\generated-sources\archetype\target\demo-archetype-0.0.1-SNAPSHOT.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  2.085 s
[INFO] Finished at: 2021-12-06T14:28:54+08:00
[INFO] ------------------------------------------------------------------------
[INFO] Archetype project created in D:\pro819\democode\demo\target\generated-sources\archetype
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  4.979 s
[INFO] Finished at: 2021-12-06T14:28:54+08:00
[INFO] ------------------------------------------------------------------------
PS D:\pro819\democode\demo> mvn archetype:create-from-project
[INFO] Scanning for projects...
[INFO]
[INFO] --------------------------< com.example:demo >--------------------------
[INFO] Building demo 0.0.1-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] >>> maven-archetype-plugin:3.2.0:create-from-project (default-cli) > generate-sources @ demo >>>
[INFO]
[INFO] <<< maven-archetype-plugin:3.2.0:create-from-project (default-cli) < generate-sources @ demo <<<
[INFO]
[INFO]
[INFO] --- maven-archetype-plugin:3.2.0:create-from-project (default-cli) @ demo ---
[INFO] Setting default groupId: com.example
[INFO] Setting default artifactId: demo
[INFO] Setting default version: 0.0.1-SNAPSHOT
[INFO] Setting default package: com.example
[WARN] Maven will be executed in interactive mode, but no input stream has been configured for this MavenInvoker instance.
[ERROR] Error executing Maven.
[ERROR] The specified user settings file does not exist: C:\Users\admin\.m2\settings.xml
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  2.640 s
[INFO] Finished at: 2021-12-06T14:37:32+08:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-archetype-plugin:3.2.0:create-from-project (default-cli) on project demo: Invoker process ended with result different than 0! -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

这个是说找不到setting.xml,我的maven配置已经是我自己的了,不知道为什么这里又走别处了,没有找到解决办法,只能复制一份setting.xml放在这个目录C:\Users\admin\.m2下;如图:

在运行就解决了。

错误2. 骨架生成了,仓库也有但是自己创建的时候不显示

解决办法:在C:\Users\admin\AppData\Local\JetBrains\IntelliJIdea2021.2\Maven\Indices这个目录下面自己新建一个UserArchetypes.xml;填写内容:

<archetypes><archetype groupId="com.example" artifactId="demo-archetype" version="0.0.1-SNAPSHOT" />
</archetypes>

重启idea就可以看见了。

错误3:自己新建项目,出现wrapper

错误图:

这是因为选择spring Initializr 创建项目有多余的文件生成,需要删除。再重新生成骨架;删除图中文件

五、参考文章

Idea自定义Maven骨架(archetype)_Quick_的博客-CSDN博客选择骨架时的问题:        在创建Maven的项目时我们发现了一个很不方便的问题,就是每次创建Maven的工程的时候,都需要选择一个骨架,但是每个骨架都需要删除一部分东西才行,在平时开发中,如果是分布式项目,有可能会频繁创建子项目,每次都要删除不要的文件然后拷贝我们要的文件,例如弹簧配置,web.xml中配置等。这样做不仅会浪费大量时间,拷贝和删除文件也容易导致错误的发生,比如漏拷某文件...https://blog.csdn.net/Quick_/article/details/81842936如何在 IDEA 中添加 Maven 项目的 Archetype(解决添加不起作用的问题)_小艾的未解之谜-CSDN博客前言在 IDEA 中点击新建 Maven 模块,会发现他已经为我们罗列出来了许多的 archetype,但有些时候满足不了我们创建脚手架并打包打开终端,cd到这个模块的根目录,比如这里是D:/Java_Study/idea_projects/springmvc-course/ssm-quickstart,然后运行mvn archetype:create-from-project,等待构建完成。接着cd到生成的target/generated-sources/archetype目...https://blog.csdn.net/qq_52827181/article/details/121479427

六、代码地址

myarchetype: 自定义骨架https://gitee.com/itwangfl/myarchetype.git

idea自定义archetype及错误处理相关推荐

  1. (转)Maven之自定义archetype生成项目骨架

    背景:最近在开发一个项目的基础构件,在以后项目的开发过程中可以直接使用该构件快速的生成项目骨架进行开发. 摘要:使用过Maven的人都知道maven中有许多功能都是通过插件来提供的,今天我们来说一下其 ...

  2. Maven之自定义archetype生成项目骨架(一)

    摘要:使用过Maven的人都知道maven中有许多功能都是通过插件来提供的,今天我们来说一下其中的一个插件:maven-archetype-plugin ,通过该插件可以自定义符合我们自己需求的arc ...

  3. ThinkPHP6项目基操(13.实战部分 项目中的自定义异常处理总结 错误页面API错误)

    项目中的自定义异常处理总结 错误页面&API错误 前言 一.异常分类 1. 控制器找不到 2. 方法找不到 3. 请求资源不存在 4. 系统內部异常.HTTP异常等 二.异常处理 1. 前置处 ...

  4. 自定义php报错信息,自定义PHP的错误报告处理方式

    首先,我们要知道为什么要自定义PHP的错误报告方式. 答案就是影响美观.用户体验差. 我们知道,PHP哪条代码有问题,哪里就会报错,报错的样式如下图所示: 为了解决"影响美观.用户体验差&q ...

  5. WCF中使用自定义behavior提示错误的解决方法

    WCF中使用自定义behavior提示错误的解决方法 参考文章: (1)WCF中使用自定义behavior提示错误的解决方法 (2)https://www.cnblogs.com/shenba/arc ...

  6. TP6 自定义404,错误提示页面

    记录:自定义TP6404及错误提示页面. 1,配置config下的app.php配置文件 'exception_tmpl' => app()->isDebug()==true ? app( ...

  7. 如何自定义Tomcat 404错误页面

    分享一下我老师大神的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow 点击这里使用RSS ...

  8. 导入自定义archetype

    导入自定义archetype 前提:该archetype是maven项目,采用微服务架构,包含一个asssembly负责打包的子项目,以及负责主要程序的boot子项目,可自行增加其他子项目. 该arc ...

  9. Maven自定义Archetype项目模板

    前言:在某课网上学习到可以使用命令mvn archetype:create-from-project来创建自己的项目模板(文中提及的项目模板即 原型 archetype),对此我十分感兴趣.但是,遗憾 ...

最新文章

  1. 每天CookBook之JavaScript-062
  2. 什么是产品Backlog(Product Backlog)?
  3. spring18-2:采用cglib字节码实现代理
  4. 2. Python3输入与输出
  5. bzoj1086[SCOI2005]王室联邦
  6. Java面试宝典之开源框架!
  7. Scaleform GFx
  8. Linux学习系列之Linux入门(一)linux安装与入门
  9. 获取iOS任意线程调用堆栈(二)符号化理论:Mach-o文件结构
  10. Persistent Data Structures(可持久化的数据结构)
  11. 《31天重构》4:下置方法
  12. 运维工程师必备技能:网络排错思路讲解
  13. redisTemplate.keys异常
  14. QTP下载地址及破解方法
  15. 大厂面试爱问的「调度算法」,20 张图一举拿下
  16. 苹果和华为如何隔空传照片
  17. 2020-10-15
  18. 未找到任何音频输出设备的解决方法
  19. ROS2探索(一)Publisher-Subscriber的内部过程
  20. 暗影精灵8 pro安装ubuntu20.04后,没有wifi驱动

热门文章

  1. 超好看的炫酷黑色系引导页源码
  2. 华为OD机试 - 用连续自然数之和来表达整数(Java JS Python)
  3. python计算密集型提速_利用Cython加速计算密集型python任务
  4. 计算机专业机房 英语,计算机与网络英语词汇(C3)
  5. 第二次:收集2000年到2017的网游(包含71款各个年代的热门游戏)
  6. C++ 机房预约系统
  7. Python多进程编程及多进程间的通信,数据传输
  8. 【高防服务器租用】这里有一份服务器租用攻略,请收好!
  9. 百度地图API(三)电子围栏—地图点击事件创建多边形
  10. ftp文件服务器能记录操作吗,ftp服务器操作记录