flink cdc 3.0本地打包出错谁遇到过?
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-shade-plugin:3.1.1:shade (shade-dist) on project flink-cdc-dist: Error creating shaded jar: Problem shading JAR /Users/admin/.m2/repository/com/zaxxer/HikariCP/4.0.3/HikariCP-4.0.3.jar entry META-INF/versions/11/module-info.class: java.lang.IllegalArgumentException -> [Help 1]
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
根据您提供的错误信息,flink cdc 3.0
在本地打包时出现了以下问题:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-shade-plugin:3.1.1:shade (shade-dist) on project flink-cdc-dist: Error creating shaded jar: Problem shading JAR /Users/admin/.m2/repository/com/zaxxer/HikariCP/4.0.3/HikariCP-4.0.3.jar entry META-INF/versions/11/module-info.class: java.lang.IllegalArgumentException -> [Help 1]
该问题的核心是 maven-shade-plugin
插件在处理 HikariCP-4.0.3.jar
文件时,无法正确处理 META-INF/versions/11/module-info.class
文件,导致打包失败。这通常与 Java 模块化(JPMS)相关的问题有关。
以下是针对该问题的详细解决步骤:
maven-shade-plugin
的旧版本可能不支持 Java 9+ 的模块化特性(如 module-info.class
)。建议将插件版本升级到最新稳定版本(例如 3.3.0
或更高版本),以解决兼容性问题。
在项目的 pom.xml
文件中,找到 maven-shade-plugin
配置部分,并将其版本更新为最新版本:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.3.0</version> <!-- 升级到最新版本 -->
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
重新执行打包命令:
mvn clean package
module-info.class
文件如果升级插件版本后问题仍然存在,可以通过配置 maven-shade-plugin
排除 META-INF/versions/11/module-info.class
文件,避免其被处理。
在 pom.xml
中添加以下配置:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.3.0</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<filters>
<filter>
<artifact>*:*</artifact>
<excludes>
<exclude>META-INF/versions/**</exclude> <!-- 排除 module-info.class -->
</excludes>
</filter>
</filters>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
重新执行打包命令:
mvn clean package
确保本地使用的 JDK 版本与项目要求的版本一致。HikariCP-4.0.3
是基于 Java 11 构建的,因此需要使用 JDK 11 或更高版本进行编译和打包。
检查当前 JDK 版本:
java -version
如果版本低于 11,请安装并切换到 JDK 11 或更高版本。例如,使用 jenv
或手动设置 JAVA_HOME
环境变量。
有时,Maven 缓存中的依赖文件可能损坏或不完整,导致打包失败。可以尝试清理本地缓存并重新下载依赖。
执行以下命令清理缓存:
rm -rf ~/.m2/repository/com/zaxxer/HikariCP
然后重新执行打包命令:
mvn clean package
根据知识库资料,阿里云实时计算 Flink 版的 MySQL 连接器在不同版本之间可能存在兼容性问题。请确保您使用的 Flink CDC 版本与 Flink 引擎版本匹配。例如:
1.17-vvr-8.0.4-1
)。pom.xml
中的依赖版本。通过上述步骤,您可以解决 flink cdc 3.0
本地打包出错的问题。推荐的解决顺序如下:
maven-shade-plugin
插件版本。module-info.class
文件。如果问题仍未解决,请提供更多上下文信息(如完整的 pom.xml
文件内容),以便进一步分析。您可以复制页面截图提供更多信息,我可以进一步帮您分析问题原因。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。