• maven3自定义archetype


    maven使用起来还是很方便,但默认自带的archetype配置junit版本比较老。每次创建新项目都要手动修改junit版本,所以就想着能不能自己建一个新版本出来,省得每次手动修改的麻烦。
    网上找了下教程,发现还是很简单的。maven提供了一种非常快速的创建骨架模板的方式,那就是create-from-project,可以让你直接使用当前项目创建archetype。下面记录一下创建过程,以普通的springboot工程为例,创建自己的archetype:

    创建普通springboot工程,项目名:Demo

    创建一个基本的springboot工程,添加依赖,集成swagger2自动生成api文档。springboot+mybatis为主要框架,使用mybatis-generator生成sql映射文件。项目配置不细说,搭建完成后添加示例代码测试OK即可。
    添加以下achetype插件:

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-archetype-plugin</artifactId>
        <version>3.0.0</version>
    </plugin>
    

    创建archetype

    Demo项目根目录({Demo-root})下执行命令 mvn archetype:create-from-project。注意此时项目{Demo-root}/target/generated-sources/目录下会生成archetype文件夹。到此步可以说已经创建了一个archetype,只是没有安装到仓库,暂时还无法使用

    安装到本地仓库

    命令行cd进入{Demo-root}/target/generated-sources/archetype目录下,此处需要修改以下两处地方:

    【A】删除不需要的多余文件
    修改src/main/resources/META-INF/maven/archetype-metadata.xml文件。其中节点fileSet定义一个文件夹,子节点directory定义文件夹位置,把不需要构建到模板文件夹删除即可。
    例:

    【B】增加私有仓库部署路径,需要让其他人可以使用此模板,必须增加这个配置
    在当前目录下的pom.xml文件中添加以下配置项

    <distributionManagement>
        <repository>
          <id>nexus-releases</id>
          <name>nexus Releases</name>
          <url>http://{ip}:{port}/nexus/content/repositories/releases/</url>
        </repository>
        <snapshotRepository>
          <id>nexus-snapshots</id>
          <name>nexus Snapshots</name>
          <url>http://{ip}:{port}/nexus/content/repositories/snapshots/</url>
        </snapshotRepository>
    </distributionManagement>
    

    其中节点<id>需要指定为maven配置文件setting.xml所配置的角色ID,两处ID需要对应。例如:

    <!--配置权限,使用默认用户-->
    <servers>
        <server>
            <id>nexus-releases</id>
            <username>deployment</username>
            <password>deployment123</password>
        </server>
        <server> 
            <id>nexus-snapshots</id>
            <username>deployment</username>
            <password>deployment123</password>
        </server>
    </servers>
    

    其他内容修改可在src目录下找到相应的模板文件直接修改即可,例如添加默认的readme.md文件内容等。

    安装部署

    在第三步的目录下(target/generated-sources/archetype),执行以下两个命令:

    mvn install 只能安装到本地仓库,其他人无法使用。

    mvn deploy 发布到私服,其他人也可以使用

    完成

    项目模板生成后pom.xml({Demo-root}/target/generated-sources/archetype/pom.xml)中会对artifactId添加后辍-archetype。可以记录此文件的gav直接添加使用模板,或者从Nexus中查找模板坐标使用
    自定义archetype完成,可以愉快使用了!

    首发自个人博客:solooo.net

  • 相关阅读:
    IntelliJ IDEA 2019.3 激活码
    TortoiseGit创建分支合并
    Lombok常用注解
    springboot项目打包发布流程
    liunx下部署jar包
    TortoiseGit配置SSH
    springboot单元测试 Failed to load ApplicationContext
    IDEA SpringBoot项目 Maven Reading Maven projects
    Spring的xml配置文件标签导入问题
    CentOS7 root用户、普通用户 vim与vi的切换
  • 原文地址:https://www.cnblogs.com/solooo/p/7417939.html
Copyright © 2020-2023  润新知