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

相关推荐
零度念者4 小时前
Java IO/NIO 深度解析:从底层原理到高性能图片网关实战
java·nio
这是程序猿5 小时前
基于java的ssm框架经典电影推荐网站
java·开发语言·spring boot·spring·经典电影推荐网站
Nan_Shu_6145 小时前
学习:Java (1)
java·开发语言·学习
花花无缺5 小时前
搞清‘’时区设置‘’以及Mysql的`DATETIME` 和 `TIMESTAMP`
java·mysql
曹牧5 小时前
Java:String.startsWith 方法
java·开发语言
jiayong235 小时前
海外求职平台与策略指南
java·spring
SadSunset5 小时前
(37)全注解式开发AOP
java·spring
秃然想通5 小时前
Java多态完全指南:深入理解“一个接口,多种实现”
java·开发语言
TT哇5 小时前
Optional<T>
java·spring boot·java-ee