ToB企服应用市场:ToB评测及商务社交产业平台
标题:
办理高版本flink cdc connector缺少依靠的题目
[打印本页]
作者:
种地
时间:
2024-11-3 18:58
标题:
办理高版本flink cdc connector缺少依靠的题目
1. 弁言
题目
:非完整包导致缺少依靠
在Flink作业的开辟场景中,我们大概会经常利用到许多的一些cdc connector,例如典型的mysql-cdc。一样平常我们都可以从maven仓库去下载,例如:https://mvnrepository.com/artifact/com.ververica/flink-connector-mysql-cdc/2.0.2
从上面的图片,
可以看到cdc的jar包是完整的,所以我们的flink作业直接引入,一样平常不会报NoClassDefException
,但是,
高版本的cdc jar似乎就没有完整包了
。
那么怎样获取cdc jar的全部依靠呢?下面继续讲解。
2. 办理方案
2.1 方案一:maven-dependency-plugin插件下载依靠
先创建一个空的maven项目,没有任何内容,只有一个pom文件,文件内容如下(注意:
只有一个依靠
):
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.apache.flink</groupId>
<artifactId>flink-connector-mysql-cdc</artifactId>
<version>3.1.1-with-dependencies</version>
<dependencies>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-connector-mysql-cdc</artifactId>
<version>3.1.1</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.1.2</version>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/lib</outputDirectory>
<includeScope>runtime</includeScope>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
复制代码
然后执行如下命令下载:
mvn clean package
复制代码
构建乐成,可以在项目的目录有一个target,内里有一个lib目录,这些就是cdc jar全部的依靠了:
2.1 方案二:maven-shade-plugin插件打包完整jar
pom的内容如下:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.apache.flink</groupId>
<artifactId>flink-connector-mysql-cdc</artifactId>
<version>3.1.1-with-dependencies</version>
<dependencies>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-connector-mysql-cdc</artifactId>
<version>3.1.1</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.4</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<outputFile>${project.build.directory}/${project.artifactId}-with-dependencies.jar</outputFile>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
复制代码
同样执行如下命令:
mvn clean package
复制代码
在本地,也能看到它的体积是比较大的:
3. 文末
本文主要讲解高版本flink cdc连接其缺少依靠的题目,主要利用“dependency”以及“shade”插件来打包,希望能资助到各人,谢谢各人的阅读,本文完!
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4