• 如何构建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这里集成使用
    在这里插入图片描述

    参考

  • 相关阅读:
    轮播图的实现
    大语言模型(LLM) RAG概念
    [Geek Challenge 2022] crypto部分
    [附源码]计算机毕业设计springboot海滨学院学生大创项目申报与审批系统
    数据仓库面试题——介绍下数据仓库
    第2章丨IRIS Global 使用多维存储
    yangwebrtc x86_64环境搭建
    SPA项目开发之首页导航+左侧菜单
    谨慎使用多线程中的 fork !!!!
    6.824 lab2
  • 原文地址:https://blog.csdn.net/qq_42651904/article/details/125538347