zoukankan      html  css  js  c++  java
  • 创建自己的maven模板

    概述

    使用maven创建项目时,提供的基础的工程太简单不是想要的,并且创建过程很慢,使用起来体验不好。如果可以根据自己的需要,直接创建模板,然后进行类似项目拷贝的工作,那就完美。幸运的是,maven提供了这样的插件,一下就是操作步骤。

    步骤

     

    1.制作模板项目my-app

    此步骤只需要创建好一个想要作为模板的工程即可;

    2.由模板项目创建模板并安装到本地

    进入上一步的模板项目目录my-app,执行命令:

    mvn archetype:create-from-project

    好了,target/generated-sources/archetype就是我们要的项目了,把这个文件夹整体拷贝出来,稍微调整archetype目录的内容,比如把一些不必要的工程信息等删除。

    修改pom.xml文件的groupId,artifactId,version为你想要的,然后安装到本地:

    mvn clean install –DskipTests

    3.使用本地模板创建工程

    mvn archetype:generate -DarchetypeCatalog=local

    选择刚刚创建的模板,几乎瞬间就完成了工程的创建;

     

    One more

     

    1.订制哪些文件会被作为模板

    只要我们把文件放到srcmain esourcesarchetype-resources目录下面,并且在srcmain esourcesMETA-INFmavenarchetype-metadata.xml中进行配置。

    比如:我们添加srcmain esourcesarchetype-resources.gitignore,然后在archetype-metadata.xml中添加下面内容:

    <fileSets>
      <fileSet encoding="UTF-8" filtered="true">
           <directory></directory>
           <includes>
                <include>.gitignore</include>
           </includes>
      </fileSet>
    </fileSets>

    重新mvn -Dmaven.test.skip=true clean install 再次生成项目,就会在新项目中加入.gitignore文件。其他类似配置,我就不详解了。

     

    2.属性替换

    可以在上面的.gitignore加入${pro-to-replace}内容,并且在archetype-metadata.xml中添加内容:

    <requiredProperties> 
        <requiredProperty key="pro-to-replace"/> 
    </requiredProperties>

    我们想这个占位符在实际使用的时候进行替换,这时archetype-metadata.xml中filtered="true"必须配置。

    这样如果在生成的向导里会提示我们输入pro-to-replace,当然我们也可以在生成的命令行中用-Dpro-to-replace=XXX进行设置。如果已经设置了,不会提示我们输入。

    我们也可以像这样设置默认值:

    <requiredProperty key="pro-to-replace">
       <defaultValue>pro-to-replace</defaultValue>
    </requiredProperty>

    当然如果这样,就不会提示你输入属性值,如果不想使用属性值,只有通过-Dpro-to-replace=XXX进行更改。

    摘自:http://www.tuicool.com/articles/riuiUv

  • 相关阅读:
    19、spring注解学习(声明式事务)——spring注解版声明式事务
    Visual C# 2015调用SnmpSharpNet库实现简单的SNMP元素查询
    SNMP协议交互学习-获取udp的udpindatagrams
    LwIP的SNMP学习笔记
    stm32f407使用Keil uV5建立工程日志
    IP unnumbered interface,某个接口不编号,某个接口不分配IP地址
    OSPFv3与OSPFv2协议的比较
    卫星网络-拓扑优化-文献笔记
    卫星轨道相关笔记SGP4
    [20190226]删除tab$记录的恢复6.txt
  • 原文地址:https://www.cnblogs.com/huntdream/p/5161400.html
Copyright © 2011-2022 走看看