上一节: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
制作完毕,感谢你的阅读。
作者:猿谋人
博客:https://yuankan.co