idea使用Maven自定义脚手架生成项目问题记录

idea使用Maven自定义脚手架生成项目问题记录

问题说明

工作需要,有同事编写了一个自定义的maven脚手架,其他人可以依据这个脚手架自动生成项目,可以快速的创建项目。但是再使用脚手架的时候遇到了问题,在使用mvn命令生成项目的时候,可以正确快速的生成项目,但是在使用idea直接生成的时候遇到了问题。问题如下:再使用idea自带的maven-archetype 生成的时候报原型项目不存在

点击生成的时候报错:Could not find artifact com.hcfc:my-test-product:pom:1.0.1 in HcfcNexus

一直报找不到,但是maven仓库中这个jar包其实是存在的。

解决方法

使用远程仓库中原型

看报错,再仓库中找不到jar包,但是实际仓库中jar包已经存在,那只能是创建的时候,idea使用的settings文件没有指定到要使用的maven私服地址,大概率是maven配置的问题。所以先配置一下idea的全家maven配置,注意这里一定要先配idea的全局maven,选择和你maven私服对应的settings文件。否则还是会报找不到包。

配置方法如下:

使用远程nexus仓库的archetype创建项目的时候,必须在自己的maven conf 下settings.xml加入以下配置:主要是标签里边的

复制代码
<profile>
      <!-- the profile id is arbitrary 这个id是任意填的-->
      <id>my_archetype</id>
      <repositories>
        <repository>
          <!--  这repository Id必须是archetype -->
          <id>archetype</id>
          <name>my archetypes</name>
          <url>http://test.product.com:8081/repository/maven-public/</url>
          <releases>
            <enabled>true</enabled>
            <checksumPolicy>fail</checksumPolicy>
          </releases>
          <snapshots>
            <enabled>true</enabled>
            <checksumPolicy>warn</checksumPolicy>
          </snapshots>
        </repository>
      </repositories>
    </profile>

配置好以后,重新去idea的maven-archeytype生成项目,发现可以成功了。

使用本地仓库的自定义脚手架

要使用本地的,首先是这个jar包要在本地的仓库中。

核对本地仓库中是否有archetype-catalog.xml 文件,文件中放的是所有原型项目的坐标信息。

如果没有在仓库地址中执行一下命令,生成一个本地的archetype-catalog.xml 文件

mvn archetype:crawl (前提是本地仓库中有这个原型的jar包)

ideal中配置:

新增的配置,目录一定要指定到archetype-catalog.xml文件

新增后,选择新增的配置

可直接选择要使用的原型,

会自动带出变量,点击create,即可生成项目。

相关推荐
2501_9418824815 分钟前
从灰度发布到流量切分的互联网工程语法控制与多语言实现实践思路随笔分享
java·开发语言
華勳全栈33 分钟前
两天开发完成智能体平台
java·spring·go
alonewolf_9938 分钟前
Spring MVC重点功能底层源码深度解析
java·spring·mvc
沛沛老爹43 分钟前
Java泛型擦除:原理、实践与应对策略
java·开发语言·人工智能·企业开发·发展趋势·技术原理
专注_每天进步一点点1 小时前
【java开发】写接口文档的札记
java·开发语言
代码方舟1 小时前
Java企业级实战:对接天远名下车辆数量查询API构建自动化风控中台
java·大数据·开发语言·自动化
zgl_200537791 小时前
ZGLanguage 解析SQL数据血缘 之 标识提取SQL语句中的目标表
java·大数据·数据库·数据仓库·hadoop·sql·源代码管理
liwulin05061 小时前
【JAVA】创建一个不需要依赖的websocket服务器接收音频文件
java·服务器·websocket
钦拆大仁1 小时前
统一数据返回格式和统一异常处理
java
czlczl200209251 小时前
OAuth 2.0 解析:后端开发者视角的原理与流程讲解
java·spring boot·后端