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,即可生成项目。

相关推荐
没有bug.的程序员3 分钟前
服务网格 Service Mesh:微服务通信的终极进化
java·分布式·微服务·云原生·service_mesh
南尘NCA86663 小时前
企业微信防封防投诉拦截系统:从痛点解决到技术实现
java·网络·企业微信
怪兽20144 小时前
SQL优化手段有哪些
java·数据库·面试
ss2734 小时前
手写MyBatis第107弹:@MapperScan原理与SqlSessionTemplate线程安全机制
java·开发语言·后端·mybatis
Deschen5 小时前
设计模式-原型模式
java·设计模式·原型模式
麦麦鸡腿堡5 小时前
Java的动态绑定机制(重要)
java·开发语言·算法
それども5 小时前
SpringBootTest运行线程池被拒绝
java
介一安全5 小时前
【Frida Android】基础篇6:Java层Hook基础——创建类实例、方法重载、搜索运行时实例
android·java·网络安全·逆向·安全性测试·frida
xyy20255 小时前
Spring事务的传播方式
java·数据库·spring