• 如何构建spring boot maven骨架自动生成项目


    这里是weihubeats,觉得文章不错可以关注公众号小奏技术,文章首发。拒绝营销号,拒绝标题党

    背景

    随着公司项目越来越多,每次自己去搭建项目都会显得非常繁琐,而且对应一些打包相关的插件也会弄错,特别是多模块项目搭建更是麻烦,所以想定义一套统一的maven 骨架每次自动生成项目目标

    自定义Archetype

    首先我们创建一个模板项目,或者基于已有的项目。目前我的目标项目结构大致如下:

    在这里插入图片描述

    这里只是随便搭建的一个项目结构,具体实际项目结构根据自己公司的实际情况去制定

    生成 Archetype

    在项目根路径生成Archetype,执行如下命令

    mvn clean archetype:create-from-project -Dmaven.test.skip=true
    
    • 1

    如果是idea可以直接在idea 的Terminal输入
    在这里插入图片描述
    如果出现如下报错

    zsh: command not found: mvn
    
    • 1

    可以参考这里解决

    执行命令成功后就会在编译文件夹target看到如下文件
    在这里插入图片描述

    新建 spring-boot-archetype项目

    我们新建一个模板项目,项目结构随便。然后将刚才target下的src的文件全部复制到新项目
    在这里插入图片描述

    新项目的结构就是如下这样了

    在这里插入图片描述

    然后我们执行命令

    mvn archetype:generate -DinteractiveMode=false -DarchetypeGroupId=com.zou -DarchetypeArtifactId=spring-boot-archetype -DarchetypeVersion=1.0.0 -DgroupId=com.zou -DartifactId=test -Dpackage=com.zou -Dversion=1.0.0-SNAPSHOT 
    
    • 1

    参数说明
    -DarchetypeGroupId:自定义archetypegroupId
    -DarchetypeArtifactId:自定义archetypeartifactId
    -DarchetypeVersion:自定义archetype的版本号
    -DgroupId:要生成的工程的groupId
    -DartifactId:要生成的工程的artifactId
    -Dpackage:要生成的工程的包名
    -Dversion:要生成的工程的版本号

    效果

    执行完命令最后生成的项目的目录结构就如下图所示
    在这里插入图片描述

    自定义参数

    对于项目中的一些配置我们可以自定义参数然后在生成项目的时候指定
    比如我们可以指定生产的端口号为9000.
    我们需要修改applicaiton,yml文件

    server:
    	port: ${serverPort}
    
    • 1
    • 2

    然后修改archetype-metadata.xml 文件添加变量

     <requiredProperties>
        <requiredProperty key="serverPort">
          <defaultValue>8080</defaultValue>
        </requiredProperty>
      </requiredProperties>
    
    • 1
    • 2
    • 3
    • 4
    • 5

    archetype.properties中也添加一个默认值

    serverPort=8080
    
    • 1

    我们在生成项目时候就可以添加参数

    -DserverPort=9000
    
    • 1

    idea 集成

    我们也可以直接在diea这里集成使用
    在这里插入图片描述

    参考

  • 相关阅读:
    初始Cpp之 八、类和对象
    程序员上班 “划水” 向阿里猛投简历,两次被吊打后,终成 “弱鸡” P7
    “Flex弹性布局、轮播图mock遍历数据和首页布局解析与实践“
    统一网关Gateway
    麒麟V10系统打包Qt免安装包程序
    性能测试一:性能理论及JMeter使用
    springboot系列(四):stater入门|超级详细,建议收藏
    ARCGIS SERVER WMS、WFS服务添加过滤条件
    Mathematica导出数据
    Zephyr-OS工作队列
  • 原文地址:https://blog.csdn.net/qq_42651904/article/details/125538347