1. 環境
- window10 家庭版;
- JDK 1.8
- maven 3.2.5
- Flink源碼
- IDEA以及安裝scala插件
說明:Flink獲取的方式可以參考閱讀GitHub源碼的正確打開方式,通過這種方式可以使用git切換版本以及查看提交記錄,極大方便我們根據需要編譯flink。
2. 編譯
2.1 編譯命令
mvn clean package -DskipTests -Dmaven.javadoc.skip=true -Dcheckstyle.skip=true -Drat.skip=true
2.2 編譯步驟
- 使用git切換Flink版本(這里以Flink1.9為例);
- 在CMD窗口中進入Flink的根目錄,執行命令(如D:\Develop\gitRepository\flink);
3. 報錯問題總結
3.1 獲取不到插件類型
Failed to execute goal on project flink-connector-gcp-pubsub_2.11: Could not resolve dependencies for project org.apache.flink:flink-connector-gcp-pubsub_2.11:jar:1.9-SNAPSHOT: Could not find artifact io.grpc:grpc-core:jar:1.17.1 -> [Help 1]
解決方法:
在maven的setting.xml文件中添加阿里的庫,若不行可以采取手動下載后,使用mvn install命令安裝;
3.2 證書問題
Failed to execute goal org.apache.rat:apache-rat-plugin:0.12:check (default) on project flink-parent: Too many files with unapproved license: 3 See RAT report in: D:\Develop\gitRepository\flink\target\rat.txt -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.rat:apache-rat-plugin:0.12:check (default) on project flink-parent: Too many files with unapproved license: 3 See RAT report in: D:\Develop\gitRepository\flink\target\rat.txt
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:120)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:355)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:584)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:216)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:160)
解決方案:在編譯命令中加上-Drat.skip=true ,以提前避免證書校驗(參見博客)。
3.3 無法下載
Installing node version v10.9.0
[INFO] Downloading https://nodejs.org/dist/v10.9.0/node-v10.9.0-win-x64.zip to D:\Develop\devConfig\maven-repository\com\github\eirslett\node\10.9.0\node-10.9.0-win-x64.zip
[INFO] No proxies configured
[INFO] No proxy was configured, downloading directly
通過嘗試使用網上提供的方案pom文件中新增
思路:
1、 手動下載node-v10.9.0-win-x64.zip;
2、 放在指定目錄中,重新執行就應該沒有了。
3.4 其他問題
Browserslist: caniuse-lite is outdated. Please run next command npm update
另開cmd窗口,運行npm update caniuse-lite
可以有用的URL:
[1] http://packages.confluent.io/maven/io/confluent/kafka-schema-registry-client/