美文网首页
maven使用archetype插件创建自定义项目模板

maven使用archetype插件创建自定义项目模板

作者: 1659b264cc28 | 来源:发表于2018-09-18 23:39 被阅读0次

    通常情况下我们新建maven工程会选择webapp模板来创建新项目


    图1

    但是创建后的项目只有个web-info目录,目录结构不是很完整


    图2
    通过使用maven-archetype-plugin插件,可以创建一个自定义的模板
    1.准备一个目录结构相对完整的maven项目

    2.执行archetype:create-from-project生成archetype项目


    图3
    3.复制一份archetype并直接打开

    ①archetype是一个可以独立打开的maven项目,打开archetype项目的pom.xml可以发现使用了maven-archetype-plugin插件
    ②src/main/resources/archetype-resources目录下是将要被打包的模板项目结构
    ③需要补充完善archetype-resources目录下结构,例如:我在webapp文件夹中添加了css、js目录,在src/main目录下添加了java、resources目录。
    ④另外还需要在archetype的pom.xml中添加maven-resources-plugin,设置includeEmptyDirs包含空目录(maven-compiler-plugin编译Java代码,maven-resources-plugin处理资源文件默认目录src/main/resources,这里的archetype-resources模板在archetype项目的resources目录下)

    图4

    META-INF/maven/archetype-metadata.xml的设置:
    fileSet过滤archetype-resources中需要被打包的目录文件,设置packaged="true"项目创建时在java目录根据groupid创建相应的目录,例如:groupid设置为com.demo->生成目录时为java/com/demo

    图5

    4.可以看到archetype项目的pom.xml中packaging打包方式为maven-archetype,修改groupId、artifactId并直接执行install就可以保存自定义模板项目到本地maven仓库

      <groupId>demo.template</groupId>
      <artifactId>maven-template-archetype</artifactId>
      <version>1.0-SNAPSHOT</version>
      <packaging>maven-archetype</packaging>
    

    根据groupId、artifactId在本地仓库找到了jar包,并且发现本地仓库的根目录下可以找到一个archetype-catalog.xml(描述了自定义archetype坐标)


    图6

    5.使用自定义模板创建maven工程:创建maven工程时选择create from archetype并Add archetype输入对应坐标

    总体上来说,只要理解了src/main/resources/archetype-resources目录就是将要被打包的模板项目结构,对应着修改想要的目录结构就可以了

    相关文章

      网友评论

          本文标题:maven使用archetype插件创建自定义项目模板

          本文链接:https://www.haomeiwen.com/subject/cqkunftx.html