自定义mavenarchetype模板工程(代码片段)

ThinkWon ThinkWon     2022-10-21     405

关键词:

文章目录

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-projectmvn 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、VersionRepository项可选,如有可填写 maven 私服地址。

注意:模板工程的ArtifactId后缀有-archetype

选中第一步新增的maven模板工程,点击 Next 填写自己项目的GroupId、ArtifactId、Version,一直点击 Next 完成项目生成。

点击Finish

生成项目结构如下,至此,Maven模板工程已经生成,可以进行业务代码的编写了。

自定义mavenarchetype模板工程(代码片段)

文章目录MavenArchetype介绍什么是MavenArchetype为什么要有模板工程创建模板工程的三种方式常用的archetypemaven-archetype-quickstartmaven-archetype-webapp自定义一个Maven模板工程生成模板上传模板到仓库(此步骤可选)使用模板工程源码地址:... 查看详情

自定义mavenarchetype模板工程(代码片段)

文章目录MavenArchetype介绍什么是MavenArchetype为什么要有模板工程创建模板工程的三种方式常用的archetypemaven-archetype-quickstartmaven-archetype-webapp自定义一个Maven模板工程生成模板上传模板到仓库(此步骤可选)使用模板工程源码地址:... 查看详情

自定义mavenarchetype模板工程(代码片段)

文章目录MavenArchetype介绍什么是MavenArchetype为什么要有模板工程创建模板工程的三种方式常用的archetypemaven-archetype-quickstartmaven-archetype-webapp自定义一个Maven模板工程生成模板上传模板到仓库(此步骤可选)使用模板工程源码地址:... 查看详情

php的自定义模板引擎

前面的话在大多数的项目组中,开发一个Web程序都会出现这样的流程:计划文档提交之后,前端工程师制作了网站的外观模型,然后把它交给后端工程师,它们使用后端代码实现程序逻辑,同时使用外观模型做成基本架构,然后... 查看详情

ide自定义工程模板

1.需求介绍  基于SylixOS开发通用工程后,把定制的BSP等工程做成模板后可以在IDE中自动生成。2.功能实现2.1     制作工程模板  在IDE安装目录D:\ACOINFO\RealEvo\src\bsp选择需要制作的版本,如图2.1所示... 查看详情

android:如何通过自定义工程模板让新建的工程都默认支持lambda表达式

首先参考这篇文章:自定义AndroidStudio工程模板,了解如何自定义模板然后结合我们上一篇文章 android:在androidstudio中使用retrolambda的步骤的要点,修改这些模板文件即可。(1)修改 pluginsandroidlib emplatesgradle-projectsNewAndroidPr... 查看详情

idea快速创建maven项目详细步骤(代码片段)

目录前言必读:1.Maven和MavenArchetype区别?2.创建maven项目之前的步骤(必看)一、创建maven1.打开idea--->文件--->新建--->项目2.新建项目--->自定义项目名称--->选择Maven-->创建3.创建成功 二、idea里面配置ma... 查看详情

自定义脚本模板(代码片段)

两种方法:1)在unity安装目录下的EditorDataResourcesScriptTemplates81-C#Script-NewBehaviourScript.cs.txt即为脚本模板,直接修改成自己需要的即可2)第二种方法来自宣雨松的《unity3D游戏开发的》第二版,即通过扩展编辑器实现:第一步:unity... 查看详情

nifi开发自定义nifiprocessor(代码片段)

...单的使用  Nifi不光可以使用自带的Processor,还可以自定义Processor。本例简单介绍开发一个Processor开发  1、新建一个Maven工程,这里采用的是eclipse的模板原型来创建。    a、创建        b、添加模板,内容:Ar... 查看详情

csdn模板参考(代码片段)

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左... 查看详情

csdn模板参考(代码片段)

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左... 查看详情

xcode工程模板和文件模板

工程模板iOS开发~自定义Xcode工程模版与文件模版 查看详情

django自定义模板函数(代码片段)

...的处理函数,模板函数的使用方式是%模板函数%1.创建自定义函数文件夹想要使用自定义模板函数的话需要先创建用于存放函数的文件夹,而在django中对于自定义函数文件夹的名称有严格的要求,即要求存放自定义模板函数的文... 查看详情

qtapplets-自定义控件-1-工程代码分析(代码片段)

QtApplets-自定义控件-1​最近状态一直不是很好,感觉目前的公司已经没有啥大的气候了,哎,现在找一个好的工作真的好难呀,好点的公司基本都是研究生起步了,今天研究研究Qt自定义控件的开发吧。日子还... 查看详情

rubyactiveadmin自定义模板(代码片段)

查看详情

IntelliJ:自定义代码生成模板

】IntelliJ:自定义代码生成模板【英文标题】:IntelliJ:customcodegenerationtemplates【发布时间】:2018-12-2917:05:35【问题描述】:如何在IntelliJ中定义自定义代码生成,例如Getters/Setters。我查看了他们的docs,但他们没有指定我可以在哪... 查看详情

php自定义表单模板(代码片段)

查看详情

phpwordpress:自定义帖子模板(代码片段)

查看详情