SpringBoot项目之自定义Maven脚手架快速开发构建工程

一、前言

在我们日常开发过程中,经常需要新建一些工程去处理相应模块的业务,同时也为了更好的区分模块边界,所以我们需要构建一些符合当前公司代码模块风格的自定义工程。下面是我供职于某互联网公司搭建脚手架的实践,若有错误之处,还请多多指教。

二、环境要求
  • JDK1.8
  • 现有的工程结构
  • maven
  • maven私服
三、操作步骤

先去到你的工程目录,如下是我的工程目录所在

在这里插入图片描述

如上图所示:在命令终端执行命令

mvn archetype:create-from-project

如下图所示
在这里插入图片描述

回车执行,输出日志如下图所示:

在这里插入图片描述

然后在上面的命令行输入:cd target/generated-sources/archetype ,如下图所示
在这里插入图片描述

接着还是在命令行执行如下命令:

mvn install

查看控制台输出日志,如果有如下图所示情况,则表示成功
在这里插入图片描述

同时运行命令将其推到私服上面:

mvn deploy

注意:以上需要maven配置私服地址、才能推得成功

那么在本地你可以运行一下如下命令:

mvn -U archetype:generate 
-DarchetypeGroupId=com.tngee.crm \
-DarchetypeArtifactId=crm-demo-archetype \
-DarchetypeVersion=1.0.0-SNAPSHOT \
-Dversion=1.0.0-SNAPSHOT \
-DgroupId=com.tngee.crm \
-DartifactId=mongdb-demo \
-DappName=Mongdb-demo 

温馨提示:以上命令请在git bash上面执行,若是在windows shell 请将 \ 去掉,将命令转成一行再执行,请注意保留参数与参数之间得空格。

以上命令解释:DgroupId 需要填你自己得项目包名,DartifactId需要填写你实际得微服务名称。

在bash命令行,按照指令输入即可生成工程。

四、知识点

像这种多模块的脚手架工程构建,需要明白以下几个知识点、如下

在这里插入图片描述

上图所示,可以看到archetype-metadata.xml文件,而这个文件是创建脚手架必须的,主要是对骨架的过滤

看到上面:

  • rootArtifactId 占位符会被parent项目的artifactId替换,也就是 上述中的crm-demo

  • ${rootArtifactId}也会被parent项目中的artifactId替换。

  • src/main/resources/archetype-resources里必须要有一个顶级pom文件(如果是单工程就是工程pom文件),同时子文件夹代表了模块定义

看看模板工程定义描述文件:META-INF/maven/archetype-metadata.xml

<?xml version="1.0" encoding="UTF-8"?>
<archetype-descriptor xsi:schemaLocation="https://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.1.0 http://maven.apache.org/xsd/archetype-descriptor-1.1.0.xsd" name="crm-demo"
    xmlns="https://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.1.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <fileSets>
    <fileSet filtered="true" encoding="UTF-8">
      <directory>.idea/inspectionProfiles</directory>
      <includes>
        <include>**/*.xml</include>
      </includes>
    </fileSet>
    <fileSet filtered="true" encoding="UTF-8">
      <directory>.idea</directory>
      <includes>
        <include>**/*.xml</include>
      </includes>
    </fileSet>
    <fileSet encoding="UTF-8">
      <directory>.idea</directory>
      <includes>
        <include>**/*.gitignore</include>
      </includ
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

西门吹雪吹吹风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值