开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

Flink CDC里为什么通过maven打包之后一直报这个异常?

我是一个dotnet程序员,近期因为项目需要刚刚上手了java和FlinkCDC,我的代码写完了在idea中能够正常运行,但是不知道为什么通过maven打包之后一直报这个异常?fe42d2f0876526bde6dc1ab5a5fa22d2.pngException in thread "main" java.lang.reflect.InaccessibleObjectException: Unable to make field private static final long java.util.Properties.serialVersionUID accessible: module java.base does not "opens java.util" to unnamed module @6a396c1e

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-shade-plugin</artifactId>
            <version>3.1.1</version>
            <executions>
                <!-- Run shade goal on package phase -->
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>shade</goal>
                    </goals>
                    <configuration>
                        <artifactSet>
                            <excludes>
                                <exclude>org.apache.flink:force-shading</exclude>
                                <exclude>com.google.code.findbugs:jsr305</exclude>
                            </excludes>
                        </artifactSet>
                        <filters>
                            <filter>
                                <artifact>*:*</artifact>
                                <excludes>
                                    <exclude>META-INF/*.SF</exclude>
                                    <exclude>META-INF/*.DSA</exclude>
                                    <exclude>META-INF/*.RSA</exclude>
                                </excludes>
                            </filter>
                        </filters>
                        <transformers combine.children="append">

                            <!-- TODO:这个防止多个connector的相同类名覆盖-->
                            <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>


                            <!--指定 主类-->
                            <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                                <mainClass>com.sjzy.FlinkCDC</mainClass>
                            </transformer>


                        </transformers>
                    </configuration>
                </execution>
            </executions>
        </plugin>

    </plugins>
</build>

展开
收起
小小鹿鹿鹿 2024-01-18 00:13:56 58 0
2 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    这个异常是由于Java 9及更高版本引入的模块化系统导致的。在Java 9中,模块系统允许将代码分割成多个独立的模块,以便更好地组织和管理代码。然而,这种新的模块化系统与旧的类加载器模型不兼容,因此导致了这个问题。

    要解决这个问题,你可以尝试以下方法:

    1. 将你的项目升级到Java 8,因为Java 8不支持模块化系统。如果你不能升级到Java 8,你可以考虑使用其他工具,如Maven或Gradle,来构建和运行你的项目。

    2. 如果你必须使用Java 9或更高版本,你可以尝试在你的项目中显式地打开java.util模块。在你的module-info.java文件中添加以下代码:

    module your.module.name {
        requires java.base;
        exports your.package.name;
    }
    

    这将允许你的模块访问java.util包中的类。请注意,这可能会导致一些安全问题,因为它可能会暴露你的代码中的敏感信息。因此,请确保你了解这些风险,并在实施此解决方案之前进行充分的评估。

    2024-01-19 15:40:57
    赞同 展开评论 打赏
  • ava -jar xxx.jar.看pom配置 应该依赖没打进去 或者指定一下classpath。此回答来自钉群Flink CDC 社区。

    2024-01-18 10:41:41
    赞同 展开评论 打赏

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

相关产品

  • 实时计算 Flink版
  • 相关电子书

    更多
    Flink CDC Meetup PPT - 龚中强 立即下载
    Flink CDC Meetup PPT - 王赫 立即下载
    Flink CDC Meetup PPT - 覃立辉 立即下载