在java中使用flink-cdc-connectors报错,“org.apache.flink.shaded.guava18.com.google.common.collect” 或是 “org.apache.flink.shaded.guava30.com.google.common.collect”。于是为了与使用的flink版本对应,下载源码编译,但是重新打包的过程中遇到了一些问题,记录如下:
1.格式校验错误,spotless,pom文件中引入如下配置
<plugin>
<groupId>com.diffplug.spotless</groupId>
<artifactId>spotless-maven-plugin</artifactId>
<version>1.20.0</version>
<configuration>
<java>
<!-- include all java files in "java" folders under "src" -->
<includes>
<include>src/**/java/**/*.java</include>
</includes>
<googleJavaFormat>
<!-- Optional, available versions: https://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22com.google.googlejavaformat%22%20AND%20a%3A%22google-java-format%22 -->
<version>1.7</version>
<!-- Optional, available versions: GOOGLE, AOSP https://github.com/google/google-java-format/blob/master/core/src/main/java/com/google/googlejavaformat/java/JavaFormatterOptions.java -->
<style>GOOGLE</style>
</googleJavaFormat>
</java>
</configuration>
</plugin>
然后在maven中找到spotless:apply 运行
2.修改项目最外层的pom文件,引入如下依赖
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-shaded-guava</artifactId>
<version>30.1.1-jre-15.0</version>
</dependency>
3.修改项目所有涉及到的引用
import org.apache.flink.shaded.guava18.com.google.common.collect.ImmutableList;
//类似如此的,都改为30
import org.apache.flink.shaded.guava30.com.google.common.collect.ImmutableList;
4.运行maven:package