idea自定义archetype及错误处理

article/2025/10/1 5:26:05

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

一、创建项目。

 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 


http://chatgpt.dhexx.cn/article/pBWPdWi7.shtml

相关文章

Maven 三种archetype说明合集

Maven 三种archetype说明合集【转载】_maven-archetype-quickstart_太阳神LoveU的博客-CSDN博客 新建Maven project项目时&#xff0c;需要选择archetype。 那么&#xff0c;什么是archetype&#xff1f; archetype的意思就是模板原型的意思&#xff0c;原型是一个Maven项目模…

maven自定义archetype

在开发过程中我们经常会创建一系列结构类似的新项目&#xff0c;这些项目结构和基础配置基本或完全一致&#xff0c;maven就提供了archetype类型来规定新建项目的结构及基础配置&#xff0c;利用archetype就可以快速简单的搭建新项目。 一、创建Maven项目的一般步骤 一般情况下…

自定义Maven Archetype模板工程

文章目录 Maven Archetype介绍什么是Maven Archetype为什么要有模板工程创建模板工程的三种方式 常用的archetypemaven-archetype-quickstartmaven-archetype-webapp 自定义一个Maven模板工程生成模板上传模板到仓库(此步骤可选) 使用模板工程 源码地址&#xff1a;https://git…

如何选择创建Maven的archetype

前言&#xff1a; 在使用IDEA的Maven插件创建我们的maven项目时提供了如图所示的原型&#xff0c;为我们快速创建合适的项目提供了很大的帮助。下面我们将详细介绍各个archetype。 官网对archetype(原型)的介绍&#xff1a; http://maven.apache.org/guides/introduction/in…

Maven model archetype说明

前言 新建一个model&#xff0c;其中有一个选项“Create from archetype”感觉很奇怪&#xff0c;我就来了解一下这些内容&#xff0c;做一下笔记&#xff0c; 什么是Archetype Archetype翻译过来就是&#xff1a;骨架&#xff0c;项目工程骨架。 Archetype是Maven工程的模板…

Maven自定义Archetype项目模板

前言&#xff1a;在某课网上学习到可以使用命令mvn archetype:create-from-project来创建自己的项目模板&#xff08;文中提及的项目模板即 原型 archetype&#xff09;&#xff0c;对此我十分感兴趣。但是&#xff0c;遗憾的是&#xff0c;老师没有介绍如何去构建这样一个特殊…

Maven-Archetype Catalog

当用户以不指定Archetype坐标的方式使用maven-archetype-plugin的时候&#xff0c;会得到一个Archetype列表供选择&#xff0c;这个列表的信息来源于一个名为archetype-catalog.xml的文件&#xff0c;如&#xff1a; archetype-catlog.xml能提供Archetype的信息&#xff0c;那么…

Idea archetype介绍

一、背景 Idea创建项目时&#xff0c;被一堆archetype混淆视听&#xff0c;犹豫不决决定彻底弄懂他 1.关键词 Archetype: 骨架Maven: Java代码编译时的一个工具&#xff08;软件讲究运行时、和编译时两种状态&#xff09; 2.网友介绍 Archetype是Maven工程的模板工具包。一…

Maven Archetype

目录 Maven Archetype工程结构创建Maven Archetype创建支持生成多模块的Maven Archetype在idea中添加自定义Maven Archetype 最开始接触到maven archetype&#xff0c;是在通过idea创建project时&#xff0c;可以选择Maven -> Create from archetype&#xff0c; 在输入proj…

自定义idea archetype

编写 archetype 元数据 通过plugin从现有项目中导出 1、引入plugin <plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-archetype-plugin</artifactId><version>3.2.0</version></plugin>2、通过maven…

Maven 三种archetype说明

新建Maven project项目时,需要选择archetype。 那么,什么是archetype? archetype的意思就是模板原型的意思,原型是一个Maven项目模板工具包。一个原型被定义为从其中相同类型的所有其它事情是由一个原始图案或模型。名称配合,因为我们正在努力提供一种系统,该系统提供了…

maven中archetype(原型)的使用及创建

当我们在idea中创建项目时&#xff0c;经常会见到如下界面选择&#xff1a; archetype也就是原型&#xff0c;准确说是一个项目模板&#xff0c;我们可以根据该模板来生成项目。 我就不介绍图形界面的创建方式了&#xff0c;一步一步太啰嗦了&#xff0c;我们用命令方式创建。…

创建自定义的archetype(项目模板)

一、archetype简介 Archetype是一个Maven项目的模板工具包&#xff0c;它定义了一类项目的基本架构。Archetype为开发人员提供了创建Maven项目的模板&#xff0c;同时它也可以根据已有的Maven项目生成参数化的模板。通过archetype&#xff0c;开发人员可以很方便地将一类项目的…

Maven创建时archetype的选择说明

新建Maven project项目时&#xff0c;需要选择archetype。 那么&#xff0c;什么是archetype&#xff1f; archetype的意思就是模板原型的意思&#xff0c;原型是一个Maven项目模板工具包。一个原型被定义为从其中相同类型的所有其它事情是由一个原始图案或模型。名称配合&am…

Maven的Archetype简介

简单的说&#xff0c;Archetype是Maven工程的模板工具包。一个Archetype定义了要做的相同类型事情的初始样式或模型。这个名称给我们提供来了一个一致的生成Maven工程的方式。Archetype会帮助作者给用户创建Maven工程模板&#xff0c;并给用户提供生成相关工程模板版本的参数化…

c语言学习--强制类型转换

C语言中关于强制类型转换问题 由于朋友问到&#xff0c;所以整理了一份&#xff0c;若关于一些认识有错误还望指出...... ● 如果一个运算符两边的运算数类型不同&#xff0c;先要将其转换为相同的类型&#xff0c;即较低类型转换为较高类型&#xff0c;然后再参加运算&#xf…

列举三种强制类型转换

1 强制类型转换—String 这里主要列举了两种强制转换为字符串类型的方法&#xff0c;我们也在log控制台中验证了新的类型。 但是注意&#xff1a;null 和 undefined 这两个值没有 toString()方法。 2 强制类型转换—Number 这里我为大家列举了三种方法&#xff0c;但是注意后…

C语言(强制类型转换)

一.类型转换原则 1.升级&#xff1a;当类型转换出现在表达式时&#xff0c;无论时unsigned还是signed的char和short都会被自动转换成int&#xff0c;如有必要会被转换成unsigned int(如果short与int的大小相同&#xff0c;unsigned short就比int大。这种情况下&#xff0c;uns…

如何进行强制类型转换?

1、自动类型转换 自动类型转换就是编译器默默地、隐式地、偷偷地进行的数据类型转换&#xff0c;这种转换不需要程序员干预&#xff0c;会自动发生。 1) 将一种类型的数据赋值给另外一种类型的变量时就会发生自动类型转换&#xff0c;例如&#xff1a; float f 100; 100 是 i…

Java中的强制类型转换

尽管自动类型转换是很方便的&#xff0c;但并不能满足所有的编程需要。 例如&#xff0c;当程序中需要将 double 型变量的值赋给一个 int 型变量&#xff0c;该如何实现呢&#xff1f; 显然&#xff0c;这种转换是不会自动进行的&#xff01;因为 int 型的存储范围比 doub…