0

This is the error I'm getting trying to initialize StreamTableEnvironment

private final StreamTableEnvironment tableEnv = StreamTableEnvironment.create(env);

Exception in thread "main" java.lang.NoSuchMethodError: org.apache.flink.streaming.api.environment.StreamExecutionEnvironment.getConfiguration()Lorg/apache/flink/configuration/ReadableConfig;
    at org.apache.flink.table.api.bridge.java.StreamTableEnvironment.create(StreamTableEnvironment.java:98)
    at com.teavaro.cep.modules.propensityscores.PropensityScoresUseCaseHandler.<init>(PropensityScoresUseCaseHandler.java:34)
    at com.teavaro.cep.modules.TransformationsHandler.<init>(TransformationsHandler.java:24)
    at com.teavaro.cep.StreamingJob.run(StreamingJob.java:146)
    at com.teavaro.cep.StreamingJob.setUp(StreamingJob.java:138)
    at com.teavaro.cep.StreamingJob.main(StreamingJob.java:64)

and then when I go to the create definition method

static StreamTableEnvironment create(StreamExecutionEnvironment executionEnvironment) {
        return create(
                executionEnvironment,
                EnvironmentSettings.fromConfiguration(executionEnvironment.getConfiguration()));
    }

I see the getConfiguration() in red saying 'getConfiguration()' has protected access in 'org.apache.flink.streaming.api.environment.StreamExecutionEnvironment'

I already rebuilt the java pom several times.

1 Answers1

0

I found that this method is not the correct create method in Flink1.13. Maybe you should check whether there are dependency conflicts mvn dependency:tree. The current create method should return this

static StreamTableEnvironment create(StreamExecutionEnvironment executionEnvironment) {
    return create(executionEnvironment, EnvironmentSettings.newInstance().build());
}

This is link: https://github.com/apache/flink/blob/release-1.13/flink-table/flink-table-api-java-bridge/src/main/java/org/apache/flink/table/api/bridge/java/StreamTableEnvironment.java#L97

Bobby
  • 1
  • 1