zoukankan      html  css  js  c++  java
  • 使用 maven 创建项目模板

    前言

    微服务的概念越来越流行,随着服务粒度越来越细,拆分的模块越来越明确,我们的工程项目也变得越来越多。

    有时候一个项目搭建,需要集成数据库、Spring 框架、消息框架、分布式任务框架、缓存等等,如果每次都新建空项目,重新配置,有点太麻烦,所以可以使用项目模板功能

    maven archetype:create-from-project,制作符合需求的脚手架工程


    配置 demo 工程

    一般制作的话,使用公司内常用的中间件依赖,制作一份统一的模板,后续新建项目就能更加快速和模块分级合理化。

    这里记录的是常规项目模板制作:

    打开 IDEA,新建一个工程(同样可以使用 IDEA 工具中自带的模板)

    新建模块 module,制定合适的模块层级

    ├── test-controller
    │   ├── pom.xml 
    │   └── src 
    ├── test-core 
    │   ├── pom.xml 
    │   └── src 
    ├── test-dao 
    │   ├── pom.xml 
    │   └── src 
    ├── test-deploy 
    │   ├── pom.xml 
    │   └── src 
    ....// 其它扩展模块 
    ├── README.md 
    ├── .gitignore 
    └── pom.xml
    

    例如上面那样结构,在 src 目录下方 java、resource、webapp 等文件


    生成模板

    mvn archetype:create-from-project
    

    在项目目录下,输入该指令,等待执行完

    可以在本地模式下测试模板是否符合预期,进入 target 目录下的 archetype 目录

    cd ${Your Project File Directory}/target/generated-sources/archetype
    

    例如上图,确认项目结构无误后,将模板安装到本地

    mvn install
    

    接着就能在 .m2/repository 目录下看到 archetype-catalog.xml,在里面多了刚才生成的模板

    <archetype>
      <groupId>org.example</groupId>
      <artifactId>test-archetype</artifactId>
      <version>1.0-SNAPSHOT</version>
      <description>test-archetype</description>
    </archetype>
    

    生成项目

    mvn archetype:generate 
        -DarchetypeGroupId=org.example 
        -DarchetypeArtifactId=test-archetype 
        -DarchetypeVersion=1.0-SNAPSHOT 
        -DinteractiveMode=false 
        -DarchetypeCatalog=local 
        -Dversion=1.0.0-SNAPSHOT 
        -DgroupId=cn.sevenyuan 
        -DartifactId=sevenyuan
    

    -D 后面的参数是要重点说明一下的:

    • archetypeGroupId:模板组织 ID
    • archetypeArtifactId:模板 artifact ID
    • archetypeVersion:模板版本号
    • interactiveMode:是否启用交互模式
    • archetypeCatalog:模板目录位置,分为 remote 和 local
    • version:自己应用的版本号
    • groupId:自己应用的组织 ID
    • artifactId:自己应用的 artifact ID

    例如我使用了 cn.sevenyuan 这个组织名,生成的目录结构如下


    上传模板到仓库

    需要在 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
    

    只要别人在 .m2 配置了该仓库地址,就可以一起使用这个项目模板


    参看链接

    1、Maven自定义archetype生成项目骨架

  • 相关阅读:
    使用golang访问kubebernetes
    使用 Rancher 管理现有 Kubernetes 集群
    Running powershell scripts during nuget package installation and removal
    How to Create, Use, and Debug .NET application Crash Dumps in 2019
    寻找写代码感觉(一)之使用 Spring Boot 快速搭建项目
    Selenium+Java之解决org.openqa.selenium.InvalidArgumentException: invalid argument报错问题
    Selenium环境搭建
    关于Xpath定位方法知道这些基本够用
    Web自动化之浏览器启动
    【翻译】编写代码注释的最佳实践
  • 原文地址:https://www.cnblogs.com/JingQ/p/13324301.html
Copyright © 2011-2022 走看看