[WARNING] No archetype found in remote catalog. Defaulting to internal catalog(已解决)

article/2025/10/1 5:23:45

前言: 遇到问题后,首先,在网络上查找答案。结果告诉我,让我重启IDEA,可是我使用的是CMD命令行,根本没有使用IDEA。或者,告诉我如何操作,却没有解释问题发生的根本原因。于是,我只能去查阅相关文档,最终清楚了问题的原因及其解决方法。

一 、问题发生

在Windows 10系统的命令行窗口中,使用命令mvn archetype:generate (Maven version: 3.6.3)生成项目模板时,出现了,如下图所示的警告:

在这里插入图片描述
警告信息【No archetype found in remote catalog. Defaulting to internal catalog

在远程目录中没有发现原型(项目模板),默认设置为内部目录(即maven-archetype-plugin 插件内部的目录)

上面提及的目录catalog,本质上是xml文件,其配置信息记录了原型的相关信息,其名字一般为archetype-catalog.xml,根据使用范围,可以分为三类:

  • remote catalog 远程目录 位于中央仓库(https://repo1.maven.org/maven2/archetype-catalog.xml)
  • local catalog 本地目录 默认位于~/.m2/archetype-catalog.xml,自定义的原型可以放在这里
  • internal catalog 内部目录 位于插件maven-archetype-plugin内部

二、问题解决

运行命令 mvn archetype:generate -X,参数-X可以输出debug级别的信息。(-X,–debug Produce execution debug output)

输出信息有很多,截取关键部分,如下图所示:
在这里插入图片描述
从我配置的阿里云镜像仓库中查找archetype-catalog.xml,没有找到该文件。访问该链接http://maven.aliyun.com/nexus/content/groups/public/archetype-catalog.xml,也无效。这个问题是因为我配置了镜像仓库,并且镜像仓库中不包含archetype-catalog.xml文件导致的

那么,问题的答案也就出来了。

解决方案:运行mvn archetype:generate时使用默认的中央仓库(即删除或者不配置镜像仓库),创建好项目模板后,再配置镜像仓库获取依赖及插件。

其实,这个警告对使用maven命令创建项目没有任何影响。也许,你和我一样,对错误或者警告信息有强迫症,很想知道其原因,到这里就OK了。另外,如果你想使用的模板在internal catalog,即插件提供的模板中不存在,你可以把【https://repo1.maven.org/maven2/archetype-catalog.xml】在浏览器中打开该文件,右键另存到你用mavne用户目录,默认是~/.m2/中,这样,你就可以获得上千个项目模板链(运行mvn archetype:generate 默认先从中央仓库,然后是插件内部,最后是本地仓库中扫描项目模板目录)。以上的解决方案,只是让警告不出现而已,现实世界里开发项目,应该把该文件拷贝到本地(如果需要的话),虽然依然会出现警告,不过对于正常使用来说,没有任何问题。


如果有用,希望大家可以点赞,评论,发表看法!

相关文章推荐

Maven自定义项目模板【推荐理由:对于archetype-catalog.xml的更加深入的理解】


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

相关文章

idea自定义archetype及错误处理

介绍:公司内部会制定自己的规范及包结构。当创建新项目的时候就需要选择骨架,即可生成包结构。本文章简单介绍如何创建,解决遇到的各种问题。 一、创建项目。 idea点击file--->new--->project--->点击左侧的Spring initializr- 图2…

Maven 三种archetype说明合集

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

maven自定义archetype

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

自定义Maven Archetype模板工程

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

如何选择创建Maven的archetype

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

Maven model archetype说明

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

Maven自定义Archetype项目模板

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

Maven-Archetype Catalog

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

Idea archetype介绍

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

Maven Archetype

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