【问题标题】:Flink Eclipse JDT Compiler IssueFlink Eclipse JDT 编译器问题
【发布时间】:2016-08-31 12:27:28
【问题描述】:

我正在尝试运行这个程序:[Flink CEP Monitoring][1]

[1]: https://github.com/tillrohrmann/cep-monitoring 在安装了 openjdk1.8 和 Flink 1.0.2 的 Amazon EC2 上。但是当我试图运行这个程序时,它会抛出以下异常:

缺少“地图”的泛型类型参数。 您的编译器似乎没有将它们存储到 .class 文件中。 目前,只有 Eclipse JDT 编译器保留了安全使用 lambdas 特性所需的类型信息。 有关如何编译包含 lambda 表达式的作业的更多信息,请参阅文档。 org.apache.flink.api.java.typeutils.TypeExtractor.validateLambdaGenericParameter(TypeExtractor.java:1316) org.apache.flink.api.java.typeutils.TypeExtractor.validateLambdaGenericParameters(TypeExtractor.java:1302) org.apache.flink.api.java.typeutils.TypeExtractor.getUnaryOperatorReturnType(TypeExtractor.java:346) org.apache.flink.cep.PatternStream.select(PatternStream.java:64) org.stsffap.cep.monitoring.CEPMonitoring.main(CEPMonitoring.java:95)

由于 Lambda 表达式,有什么方法可以用 Java 8 编译 Flink 程序吗?我该如何解决这个错误?

【问题讨论】:

  • 我在 Apache-Flink 程序中面临同样的问题。你的问题解决了吗。请告诉我

标签: java eclipse aws-lambda apache-flink flink-cep


【解决方案1】:

这是一个 Eclipse 错误:#449063!

同时,我建议您在 Eclipse 之外构建项目。从命令行使用“mvn clean install”,然后您可能会从 eclipse ide 运行主类。

【讨论】:

    【解决方案2】:

    默认情况下,Eclipse JDT 编译器不会将泛型类型信息存储在类文件中。您必须将 JDT 标志 org.eclipse.jdt.core.compiler.codegen.lambda.genericSignature 设置为 generate

    您可以在Java 8 Programming Guide找到详细说明。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-11-11
      • 1970-01-01
      • 2018-01-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多