IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> 自定义Maven Archetype模板工程 -> 正文阅读

[Java知识库]自定义Maven Archetype模板工程

源码地址: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-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模板工程已经生成,可以进行业务代码的编写了。

在这里插入图片描述

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-07-04 22:41:24  更:2022-07-04 22:44:33 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 15:18:45-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码