在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 

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐