Maven 自定义archeType

1. 什么是archeType

我们在创建maven项目的时候,你会发现有这么多的apache提供的模板。

或者使用mvn archetype:generate命令来快速创建maven项目,也会有很多个选项,让你选择模板序号。那每个模板之间有什么区别呢?

每个模板里其实就是附带不同的依赖和插件。一般在公司私服里都会有属于本公司的一套archeType模板,里面有着调试好的项目用到的依赖包和版本号。

2. 创建archetype

假如自己已经有了一个maven项目,想给该项目创建一个archeType模板。

cd 到项目根目录下执行(pom.xml同级目录)。

mvn archetype:create-from-project

此时会在项目target下生成这些文件:

3. 生成archetype模板

先cdtarget/generated-sources/archetype/然后执行 mvn install

执行成功后,执行crawl命令,在本地仓库的根目录生成archetype-catalog.xml骨架配置文件:

mvnarchetype:crawl

来看一看它里面的内容:

[fantj@lalala repository]$ cat archetype-catalog.xml<?xml version="1.0"encoding="UTF-8"?>com.fantjmy-self-defind-archtype-archetype0.0.1-SNAPSHOTmy-self-defind-archtype

4. 使用archetype模板

执行mvn archetype:generate -DarchetypeCatalog=local从本地archeType模板中创建项目。

mvn archetype:generate -DarchetypeCatalog=local

然后会让你选择模板序号和groupId``artifactId``version和package信息:

Choosearchetype:1: local -> com.fantj:my-self-defind-archtype-archetype (my-self-defind-archtype)Choose a numberorapply filter (format:[groupId:]artifactId,casesensitive contains): :1Define valueforproperty'groupId': com.fantjDefine valueforproperty'artifactId': my-self-defind-archetype-testDefine valueforproperty'version'1.0-SNAPSHOT:: Define valueforproperty'package'com.fantj:: Confirm propertiesconfiguration:groupId:com.fantjartifactId:my-self-defind-archetype-testversion:1.0-SNAPSHOTpackage:com.fantjY:: y[INFO] ----------------------------------------------------------------------------[INFO] Using following parametersforcreating project fromArchetype:my-self-defind-archtype-archetype:0.0.1-SNAPSHOT[INFO] ----------------------------------------------------------------------------[INFO]Parameter:groupId,Value:com.fantj[INFO]Parameter:artifactId,Value:my-self-defind-archetype-test[INFO]Parameter:version,Value:1.0-SNAPSHOT[INFO]Parameter:package,Value:com.fantj[INFO]Parameter:packageInPathFormat,Value:com/fantj[INFO]Parameter:package,Value:com.fantj[INFO]Parameter:version,Value:1.0-SNAPSHOT[INFO]Parameter:groupId,Value:com.fantj[INFO]Parameter:artifactId,Value:my-self-defind-archetype-test[INFO] Project created from Archetypeindir:/home/fantj/IdeaProjects/maven-tutorial/my-self-defind-archetype-test[INFO] ------------------------------------------------------------------------[INFO] BUILD SUCCESS

项目创建成功!

当然,也可以使用IDEA来帮我们用图形界面使用archeType模板创建项目:

图1

图2

图3

后面的就与创建普通项目相同了,不做演示。

作者:FantJ

链接://www.greatytc.com/p/724a9fa7b37a

来源:简书

简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Maven - 自定义archetype 前言 核心内容 单Module 多Module 前言 要自定义arche...
    齐晋阅读 10,940评论 1 5
  • 1. 什么是archeType 我们在创建maven项目的时候,你会发现有这么多的apache提供的模板。或者使用...
    FantJ阅读 15,232评论 0 24
  • 24.maven自动化部署 (待测试)# 在项目开发中,通常是部署过程包含以下步骤 检入代码在建项目全部进入SVN...
    明_27bf阅读 3,638评论 0 0
  • 在maven的世界里,一切都从pom文件开始...... 下面是一个入门级helloworld项目的 pom配置文...
    小炼君阅读 4,849评论 2 50
  • maven常用命令介绍 这里主要是在eclipse中使用maven,因此只使用到了一部分命令,整理下来方便以后查阅...
    菜凯阅读 4,801评论 0 2