自定义Maven Archetype模板工程
文章目录
- Maven Archetype介绍
- 什么是Maven Archetype
- 为什么要有模板工程
- 创建模板工程的三种方式
- 常用的archetype
- maven-archetype-quickstart
- maven-archetype-webapp
- 自定义一个Maven模板工程
- 生成模板
- 上传模板到仓库(此步骤可选)
- 使用模板工程
源码地址:https://gitee.com/JourWon/spring-boot-example
Maven Archetype介绍
什么是Maven Archetype
Archetype
是一个Maven项目的模板工具包,它定义了一类项目的基本架构。Archetype
为开发人员提供了创建Maven项目的模板,同时它也可以根据已有的Maven项目生成参数化的模板。
官方文档:https://maven.apache.org/archetype/index.html
为什么要有模板工程
开发新项目就需要搭建新工程,但是搭建新工程是非常繁琐耗时的过程,如果每新起一个项目都由不同的开发人员搭建一个新的工程,由于开发人员代码风格各不相同,搭建的工程可能千差万别,对后续的统一管理维护,监控运维是灾难的。基于这些痛点,希望能够达到以下目标:
- 统一研发框架,统一规范项目结构、通用配置,统一依赖版本,约定大于配置。
- 提升研发效率,减少搭建项目的时间,集成基础中间件、基础util工具类等快速开发组件,做到开箱即用。
- 降低项目维护成本,易于组内成员学习,在相互协作时能快速上手。
创建模板工程的三种方式
1、搭建一个服务demo
每次需要创建一个新服务项目时候,就拉取下模板工程的代码,进行开发
2、spring boot initialier
3、基于maven的archetype,本文重点讲述基于maven的archetype创建模板工程的方式
在IDEA中,我们可以通过File - New Project – Maven – Create from archetype
,选择某个archetype
快速创建模板工程
常用的archetype
maven-archetype-quickstart
默认的Archetype,基本内容包括:
- 一个包含junit依赖声明的pom.xml
- src/main/java主代码目录及一个名为App的类
- src/test/java测试代码目录及一个名为AppTest的测试用例
maven-archetype-webapp
一个最简单的Maven war项目模板,当需要快速创建一个Web应用的时候可以使用它。生成的项目内容包括:
- 一个packaging为war且带有junit依赖声明的pom.xml
- src/main/webapp/目录
- src/main/webapp/index.jsp文件
- src/main/webapp/WEB-INF/web.xml文件
自定义一个Maven模板工程
自定义Maven模板工程步骤如下
官方介绍:https://maven.apache.org/archetype/maven-archetype-plugin/advanced-usage.html
ps:如果是maven多模块项目,在根目录下执行mvn archetype:create-from-project
,mvn install
后,会在本地的maven仓库,按照maven坐标创建对应的archetype文件
生成模板
在maven项目下,执行如下命令
mvn archetype:create-from-project
进入 target 目录下的 archetype 目录
cd target/generated-sources/archetype
安装archetype project到本地仓库
mvn install
接着就能在自己的maven仓库目录下看到 archetype-catalog.xml,里面多了刚才生成的模板
archetype-catalog.xml内容类似如下
<?xml version="1.0" encoding="UTF-8"?>
<archetype-catalog xsi:schemaLocation="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-catalog/1.0.0 http://maven.apache.org/xsd/archetype-catalog-1.0.0.xsd"xmlns="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-catalog/1.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><archetypes><archetype><groupId>com.jourwon.spring.boot</groupId><artifactId>spring-boot-maven-archetype-single-module-archetype</artifactId><version>1.0.0</version><description>Spring Boot整合Maven Archetype模板工程-单模块</description></archetype></archetypes>
</archetype-catalog>
上传模板到仓库(此步骤可选)
需要在 target/generated-sources/archetype
目录下的 pom
文件中加入仓库地址,例如如下示范
<!--运行 mvn deploy 时上传构件到本地仓库 -->
<distributionManagement><repository><id>xxx-releases</id><name>Nexus Release Repository</name><url>http://xxx.com/nexus/content/repositories/xxx-release/</url></repository><snapshotRepository><id>xxx-snapshots</id><name>Nexus Snapshot Repository</name><url>http://xxx.com/nexus/content/repositories/xxx-test/</url></snapshotRepository>
</distributionManagement>
接着在 archetype 目录下,执行 deploy 命令
mvn deploy
只要开发人员maven的settings配置了该仓库地址,就可以一起使用这个模板工程
使用模板工程
依次点击 File -> New -> Project
,按照下图新增maven模板工程,填写maven模板工程的 GroupId、ArtifactId、Version
,Repository
项可选,如有可填写 maven
私服地址。
注意:模板工程的ArtifactId
后缀有-archetype
选中第一步新增的maven模板工程,点击 Next
填写自己项目的GroupId、ArtifactId、Version
,一直点击 Next
完成项目生成。
点击Finish
生成项目结构如下,至此,Maven模板工程已经生成,可以进行业务代码的编写了。
自定义Maven Archetype模板工程相关推荐
- 如何创建自定义maven archetype?
如何创建自定义maven archetype? 文章目录 如何创建自定义maven archetype? 1. 什么是archetype 2. 创建项目模板 3. 创建archetype目录结构 4. ...
- 自定义maven archetype,上传到nexus,并使用nexus远程的archetype创建项目
一.需要自定义骨架的需求 有的时候,我们项目中会有很多公共的依赖.公共的代码.公共的配置文件 但是我们又不希望创建一个新项目之后重新从老项目拷贝.所以我们能使用老的项目作为新建项目的maven arc ...
- 如何自定义 maven中的archetype
1.首先使用eclipse创建一个新的maven project,然后把配置好的一些公用的东西放到相应的目录下面比如说会将一些常用的java代码存放到src/main/java目录下面:会将一些通用的 ...
- maven archetype 自定义
archetype是什么 如何创建archetype(简易版,标准版请看后面#更多问题) 第一步 第二步 第三步 如何使用archetype 更多问题 未解决的问题 参考来源 archetype是什么 ...
- 【Maven实战技巧】「插件使用专题」Maven-Archetype插件创建自定义maven项目骨架
技术推荐 自定义Archetype Maven骨架/以当前项目为模板创建maven骨架,可以参考http://maven.apache.org/archetype/maven-archetype-pl ...
- maven java archetype_使用Maven Archetype创建Java项目模板
1.over view 简而言之,Archetype是一个Maven项目模板工具包.原型被定义为一种原始的模式或模型,所有其他同类的东西都是从中产生的.当我们试图提供一个提供生成Maven项目的一致方 ...
- maven原型_创建自定义Maven原型
maven原型 Maven原型是项目模板,可以帮助我们根据其类型快速创建maven入门项目 . 这是一个不费吹灰之力地引导Maven项目的好工具. 我们可以使用多种原型. 一些流行的原型包括– mav ...
- 创建自定义Maven原型
Maven原型是项目模板,可以帮助我们根据其类型快速创建maven入门项目 . 这是一个非常省力的引导Maven项目的好工具. 有许多可供选择的原型. 一些流行的原型包括– maven-archety ...
- Maven Archetype使用教程与具体使用方法
Maven Archetype 是 Maven 项目创建的原型工具.通过 Archetype,我们可以方便地创建一个符合我们需求的 Maven 项目. 接下来说说Maven Archetype的使用教 ...
最新文章
- 还有人买吗?苹果新一代iPod touch悄然发布:升级为A10芯片
- CXF 不依赖spring的实现
- matlab低通滤波器库函数代码_【转】Matlab中模拟低通滤波器的函数
- Altium net has no driving source问题
- CentOS下安装EDM工具
- 软件质量测试雨课堂习题
- Mac 技术篇-搜狗输入法英文首字母自动大小写设置,mac系统首字母自动大小写设置
- python: pc端QQ窗口发送多条消息
- 关于map与set的count的时间复杂度(个人观点,不正确请指出)
- 单片机的停车场计数系统c51_基于51单片机的停车场车位管理系统
- C语言讲义2018修订版(黑马程序员)
- Python简单木马编写
- 推荐几款隐身后台自动截屏软件
- 内存不够的情况下python处理大规模数据
- 卡尔曼滤波原理和Matlab以及python代码实现
- ProgeCAD 2009 Pro 9.0.26.6 (建筑CAD)iv.rar
- 策划经验分享——常用软件篇
- linux挂载文件夹哪个最好,细说linux挂载——mount,及其他……
- 高斯计如何用于生物医学研究
- 前端学习笔记-内容交付网络 Content delivery networks (CDNs)
热门文章
- 基于Docker快速搭建蜜罐Dionaea(30)
- CSI笔记【5】:Widar2.0: Passive Human Tracking with a Single Wi-Fi Link论文阅读
- 宝宝眼皮又长“痘”了!麦粒肿和霰粒肿怎么区分?
- 简单易学的推箱子源代码大放送
- 哆啦a梦简单图画python编程_哆啦a梦怎么画简单画法,哆啦a梦简笔画带颜色,超可爱...
- 数据家新三板挂牌上市
- mysql查询学号和姓名_数据库SQL语句中 查询选修了全部课程的学生的学号和姓名...
- 散热之散热风扇种类介绍
- html2canvas跨域踩坑日常
- bgp基础配置实验(基于环回口建立peer关系)