2

このプログラムを実行しようとしています: [Flink CEP Monitoring][1]

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

'Map' のジェネリック型パラメーターがありません。コンパイラがそれらを .class ファイルに保存していないようです。現在、ラムダ機能を型安全に使用するために必要な型情報を保持しているのは、Eclipse JDT コンパイラだけです。ラムダ式を含むジョブをコンパイルする方法の詳細については、ドキュメントを参照してください。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)

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

4

2 に答える 2

0

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

それまでの間、Eclipse の外でプロジェクトをビルドすることをお勧めします。コマンドラインから「mvn clean install」を使用すると、おそらくEclipse IDEからメインクラスを実行します。

于 2016-06-03T13:30:22.380 に答える
0

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

詳細な説明については、Java 8 プログラミング ガイドを参照してください。

于 2016-07-12T08:48:03.673 に答える