前言
最近在预研Flink Gelly源码中,给Gelly源码添加了几个功能点,想打包发布,应用在自己的项目中部署。然而源码编译的过程中,不是一帆风顺了,踩了些坑,所以本文记录了一次源码编译的过程。
1. 克隆Flink源码
首先,把Flink源码克隆到本地:
git clone https://github.com/apache/flink.git
2. 直接进行打包编译
执行:
mvn clean package -DskipTests
报错了,有些包在http://maven.aliyun.com/nexus/content/groups/public下载不到。
因为阿里云的镜像有些包估计还不全面。所以需要修改maven的settings.xml文件,用国际化的镜像来做为maven的公共库:
<mirror>
<id>UK</id>
<mirrorOf>central</mirrorOf>
<name>UK Central</name>
<url>http://uk.maven.org/maven2</url>
</mirror>
注意这里还需要做步操作,删除mavenReposity/org/apache/flink目录。
然后再一次执行编译,报错了,错误日志:
Failed to execute goal org.apache.maven.plugins:maven-checkstyle-plugin:2.17
错误日志消息很明显,是maven-checkstyle-plugin出错了。
maven checkstyle plugin的简单介绍
为了在提交代码之前做一些必要的代码检查,我们需要使用一些工具来辅助我们的工作——对于maven工程我们可以使用maven checkstyle plugin。
执行:
mvn checkstyle:checkstyle
命令检查工程是否满足checkstyle。
采取对策:就是把根目录flink-release-1.7里的pom.xml文件的这部分注释掉:
<!--<plugin>
<gro