You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Francesco Guardiani (Jira)" <ji...@apache.org> on 2022/01/03 08:02:00 UTC
[jira] [Commented] (FLINK-25487) Improve exception when flink-table-runtime is not in classpath
[ https://issues.apache.org/jira/browse/FLINK-25487?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17467837#comment-17467837 ]
Francesco Guardiani commented on FLINK-25487:
---------------------------------------------
> org.apache.flink.calcite.shaded.com.jayway.jsonpath.spi.mapper.MappingProvider
This shading path seems wrong, I'll push an hotfix for it to change to {{org.apache.flink.shaded.com.jayway}}.
Assigned the issue to me, I'll add a mapping of known packages -> modules in {{ComponentClassLoader}} to print nicer exceptions
> Improve exception when flink-table-runtime is not in classpath
> --------------------------------------------------------------
>
> Key: FLINK-25487
> URL: https://issues.apache.org/jira/browse/FLINK-25487
> Project: Flink
> Issue Type: Sub-task
> Components: Table SQL / Planner
> Reporter: Timo Walther
> Priority: Major
>
> If flink-table-runtime is not in the classpath, an exception can be quite cryptic.
> {code}
> Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/flink/calcite/shaded/com/jayway/jsonpath/spi/mapper/MappingProvider
> at java.lang.Class.getDeclaredMethods0(Native Method)
> at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
> at java.lang.Class.privateGetMethodRecursive(Class.java:3048)
> at java.lang.Class.getMethod0(Class.java:3018)
> at java.lang.Class.getMethod(Class.java:1784)
> at org.apache.calcite.linq4j.tree.Types.lookupMethod(Types.java:314)
> at org.apache.calcite.util.BuiltInMethod.<init>(BuiltInMethod.java:646)
> at org.apache.calcite.util.BuiltInMethod.<clinit>(BuiltInMethod.java:345)
> at org.apache.calcite.rel.metadata.RelMdPercentageOriginalRows.<clinit>(RelMdPercentageOriginalRows.java:41)
> at org.apache.calcite.rel.metadata.DefaultRelMetadataProvider.<init>(DefaultRelMetadataProvider.java:42)
> at org.apache.calcite.rel.metadata.DefaultRelMetadataProvider.<clinit>(DefaultRelMetadataProvider.java:28)
> at org.apache.calcite.plan.RelOptCluster.<init>(RelOptCluster.java:91)
> at org.apache.calcite.plan.RelOptCluster.create(RelOptCluster.java:100)
> at org.apache.flink.table.planner.calcite.FlinkRelOptClusterFactory$.create(FlinkRelOptClusterFactory.scala:36)
> at org.apache.flink.table.planner.calcite.FlinkRelOptClusterFactory.create(FlinkRelOptClusterFactory.scala)
> at org.apache.flink.table.planner.delegation.PlannerContext.<init>(PlannerContext.java:137)
> at org.apache.flink.table.planner.delegation.PlannerBase.<init>(PlannerBase.scala:113)
> at org.apache.flink.table.planner.delegation.StreamPlanner.<init>(StreamPlanner.scala:55)
> at org.apache.flink.table.planner.delegation.DefaultPlannerFactory.create(DefaultPlannerFactory.java:62)
> at org.apache.flink.table.planner.loader.DelegatePlannerFactory.create(DelegatePlannerFactory.java:36)
> at org.apache.flink.table.factories.PlannerFactoryUtil.createPlanner(PlannerFactoryUtil.java:53)
> at org.apache.flink.table.api.bridge.java.internal.StreamTableEnvironmentImpl.create(StreamTableEnvironmentImpl.java:123)
> at org.apache.flink.table.api.bridge.java.StreamTableEnvironment.create(StreamTableEnvironment.java:128)
> at org.apache.flink.table.api.bridge.java.StreamTableEnvironment.create(StreamTableEnvironment.java:96)
> at com.ververica.Example_04_Table_ETL.main(Example_04_Table_ETL.java:18)
> Caused by: java.lang.ClassNotFoundException: org.apache.flink.calcite.shaded.com.jayway.jsonpath.spi.mapper.MappingProvider
> at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
> at org.apache.flink.core.classloading.ComponentClassLoader.loadClassFromOwnerOnly(ComponentClassLoader.java:139)
> at org.apache.flink.core.classloading.ComponentClassLoader.loadClassFromComponentFirst(ComponentClassLoader.java:133)
> at org.apache.flink.core.classloading.ComponentClassLoader.loadClass(ComponentClassLoader.java:95)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
> ... 25 more
> {code}
--
This message was sent by Atlassian Jira
(v8.20.1#820001)