上一节:01.创建项目结构 内容中,我们利用官方提供的 Flink 模板生成了一个初始化的 Flink 项目目录结构,并且再次基础上,我们做了二次定制。我们针对不同的运行环境,新增了一些配置文件,以方便自己的项目部署运行。最终,整个项目目录结果如下:

archetype 模板,再之后的 Flink 项目开发时,都基于这份定制化的模板生成新的项目目录结构,这会使后续的开发变得事半功倍。
模板制作
请确保你的本地环境安装了 maven 包管理系统,我们需要利用 mvn cli命令行工具把该项目打包为一个项目模板。
1.调整 pom.xml
<version>1.9-RELEASE</version>
首先,我们需要修改下 pom.xml 文件的版本号: <version>,为了方便开发人员从版本号得出当前项目使用的 flink 版本,因此项目版本号这里和项目使用的 flink 版本保持一致: 1.9,并且调整版本的后缀为 RELEASE ,这是 maven 官方约定,代表这是一个稳定的发布版本。
2. 编译项目
接下来我们需要编译该项目。
# 进入项目目录
cd ~/IdeaProjects/FlinkDemo
# 运行制作 archetype 命令,基于当前项目
mvn archetype:create-from-project
当执行完该命令后,我们再进入项目的 target 编译目录,制作 jar 包并安装到本地的 maven 仓库:~/.m2/repository/ 中
# 安装到本地 mvn 仓库文件里
cd target/generated-sources/archetype
# 安装
mvn install
# 生成 archetype-catalog 骨架信息文件
mvn archetype:crawl
不出意外,你会在 .m2/repository 找到如下文件: archetype-catalog.xml ,内容里会有该项目的配置字段信息:
<archetype>
<groupId>co.yuankan</groupId>
<artifactId>FlinkDemo-archetype</artifactId>
<version>1.9-RELEASE</version>
<description>FlinkDemo</description>
</archetype>
3. 如何使用
至此,我们已经把自定义的项目做成了一个项目模板,并且安装到了本地的 mvn 仓库中,下面我们就基于该模板来创建一个新的项目 FlinkFirstDemo。
# 生成项目,使用本地项目索引
mvn archetype:generate -DarchetypeCatalog=local
当我们执行如上命令时,并且配置 archetypeCatalog 参数为 local, mvn 会尝试从本地 archetype 查找项目模板文件,接下来我们只需要, 命令提示信息完成项目的初始化参数设定即可,参考下图:

idea (上一节可视化的方式)使用该模板,如果想使用也不是绝对不可行,我们可以把该项目发布到 mvn 中央仓库中,或者发布到自己的公司私有仓库中,后续也是可以使用可视化方式来创建项目的。
项目模板 archetype 制作完毕,感谢你的阅读。
作者:猿谋人 博客:yuankan.co