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生成项目骨架

  • 相关阅读:
    php对接java平台 sha256 加密 签名验证不过
    iframe里面表单提交后如何跳出iframe重定向到另一个页面
    composer update install require 三个命令的的别
    PHP RabbitMQ实现简单的延迟队列
    CentOS 7 RPM 离线安装 MySQL 8
    解决SSH连接Linux主机Broken pipe问题
    Oracle查询连接数
    Oracle SYSAUX 表空间减肥
    Oracle URL的几种写法
    Oracle查询和修改序列
  • 原文地址:https://www.cnblogs.com/JingQ/p/13324301.html
Copyright © 2011-2022 走看看