美文网首页Maven
自定义archetype

自定义archetype

作者: 王勇1024 | 来源:发表于2019-01-12 11:19 被阅读9次

为什么要自定义archetype

Maven也内置了很多的archetype供用户选择使用什么样的骨架去创建一个项目,比如:

maven-archetype-webapp
maven-archetype-quickstart

在创建一个maven项目的时候会列出很多archetype供选择,Maven默认的archetype是maven-archetype-webapp。

但是在一个团队做开发的过程中,可能仅仅依靠Maven预先提供的archetyp可能是不够的,团队之间协作有自己的定义方式,每个人的结构定义风格也不尽相同,在这样的背景下我们有必要去定义一个统一的代码骨架供团队使用,这样做的好处还有在新人加入团队的初期能够快速的理解项目。

自定义archetype

进入项目根目录,执行下面的命令:

mvn archetype:create-from-project 

此时会在该项目的target目录下发现如下文件:


目录结构

进入到archetype目录下,也就是到达我们项目的根目录执行:

cd target/generated-sources/archetype/
mvn install

IDEA使用自定义archetype生成项目

File>New>Project

使用自定义archetype生成项目

设置GroupId、ArtifactId和Version

项目设置

成功生成项目

成功生成项目

但我发现build.sh、docker/run.sh文件中的${artifactId}变量并没有被替换,原因是 <fileSet>没有添加 filtered="true" 的设置,filtered="true"标识下面提到的${}是否要进行替换

    <fileSet encoding="UTF-8">
      <directory>docker</directory>
      <includes>
        <include>**/*.</include>
        <include>**/*.sh</include>
      </includes>
    </fileSet>
    <fileSet encoding="UTF-8">
      <directory></directory>
      <includes>
        <include>build.sh</include>
        <include>.gitignore</include>
      </includes>
    </fileSet>
  </fileSets>

修改后重新执行 mvn install,再重新生成项目即可,项目启动成功:

 .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v2.1.1.RELEASE)

2019-01-12 12:22:31.199 [main] INFO  com.yidian.data.Application - Starting Application on admindeMacBook-Pro.local with PID 55375 (/Users/admin/workspace/demo/target/classes started by admin in /Users/admin/workspace/demo)
2019-01-12 12:22:31.204 [main] INFO  com.yidian.data.Application - The following profiles are active: dev

参考资料:https://segmentfault.com/a/1190000005044702

相关文章

  • Maven - 自定义archetype

    Maven - 自定义archetype 前言 核心内容 单Module 多Module 前言 要自定义arche...

  • 自定义archetype

    为什么要自定义archetype Maven也内置了很多的archetype供用户选择使用什么样的骨架去创建一个项...

  • Maven

    Maven之自定义archetype生成项目骨架(一) - CSDN博客http://blog.csdn.net/...

  • Maven的这三个用法你一定要会!

    本文中将介绍maven的自定义插件(入门实战)自定义archeType模板(实战)按环境打包(实战)三个在私服中常...

  • Maven 自定义archeType

    1. 什么是archeType 我们在创建maven项目的时候,你会发现有这么多的apache提供的模板。 或者使...

  • Maven 自定义archeType

    1. 什么是archeType 我们在创建maven项目的时候,你会发现有这么多的apache提供的模板。或者使用...

  • Maven的这三个用法你一定要会

    前言 我是在乐字节教育学习的小小学员。 本文中将介绍maven的自定义插件(入门实战)自定义archeType模板...

  • Add Archetype

    Add Archetype Archetype Group Id:com.hhwy Archetype Artif...

  • 自定义Maven模板(Archetype)

    常用的Archetype macen-archetype-quickstart macen-archetype-w...

  • Maven 项目模板创建指南

    本文通过 Maven archetype 来创建自定义的项目结构,形成Maven 项目模板,避免重复的项目创建工作...

网友评论

    本文标题:自定义archetype

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