本文将记录 flink 源码编译过程中遇到的一些问题 。
1. 跳过 maven Checkstyle 检查
$ mvn clean install -Dcheckstyle.skip=true -DskipTests
2. 运行示例代码时绕过test编译
-
背景
跑 flink-examples,各种报错,各种test类之间依赖找不到,极其头大!
-
疑惑
寻找解决办法时,心中不禁冒出三个问题:
- 为什么跑 flink-examples的时候,Intellij idea会自动build一些无关紧要的代码 ?
- build是否可以绕过Test,直接运行当前flink-exmaples中的代码?
- build与maven compile的区别是什么?
- 答案
针对以上3个问题,一一解答:
- 跑Intellij idea时,默认会强制进行build,包括一些无关代码,如图:
- build本质上是在调用javac,目前来看,无法绕过test,会全盘编译,浪费很多时间。
- build和mvn compile本质上都是javac的封装,但是mvn compile做了更多事情,比如
mvn compile -Dmaven.test.skip=true
可以绕过test,避免编译一些无关紧要的测试类
- 结论
基于以上思考,可以在工程目录下,对flink-examples模块单独进行手动编译mvn clean compile -pl flink-examples -am
,生成字节码,然后将Before launch :Build, Activate tool window
配置下的Build删除掉即可,然后就可以秒起example示例了!