2016-05-05 25 views
1

私はこのプログラムを実行しようとしています:[FLINK CEP監視]を[1]FLINKのEclipse JDTコンパイラの問題

[1]:Amazon EC2の上https://github.com/tillrohrmann/cep-monitoring openjdk1.8 &とFLINK 1.0.2はそれにインストールされています。しかし、このプログラムを実行しようとすると、次の例外がスローされます。

「マップ」のジェネリック型パラメータがありません。 あなたのコンパイラは、それらを.classファイルに保存していないようです。 現在、Eclipse JDTコンパイラのみが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)

ラムダ式のため、FlinkプログラムをJava 8でコンパイルする方法はありますか?どうすればこのエラーを解決できますか?

+0

私はApache-Flinkプログラムで同じ問題に直面しています。あなたの問題は解決されますか?私にお知らせください –

答えて

0

これは日食バグです:#449063

その間、私はあなたが日食以外のプロジェクトを構築することをお勧めします。あなたのコマンドラインから "mvnのクリーンインストール"を使用し、おそらくあなたのEclipse IDEからメインクラスを実行します。

0

デフォルトでは、Eclipse JDTコンパイラーは、ジェネリック・タイプ情報をクラス・ファイルに保管しません。 JDTフラグorg.eclipse.jdt.core.compiler.codegen.lambda.genericSignaturegenerateに設定する必要があります。

詳細な説明はJava 8 Programming Guideにあります。