基于Maven开发指南
本节主要介绍如何创建项目,并开发简单的Flink应用,从而使该Flink应用可以被提交到UFlink平台运行。目前UFlink托管集群仅支持1.6.4版本,更高版本的支持后期会陆续开放。
\==== 自动生成代码框架 ==== 对于Java开发者,可以使用maven自动生成flink项目:
mvn archetype:generate \ -DarchetypeGroupId=org.apache.flink \ -DarchetypeArtifactId=flink-quickstart-java \ -DarchetypeVersion=1.6.4
对于scala开发者,可以使用maven自动生成flink项目:
mvn archetype:generate \ -DarchetypeGroupId=org.apache.flink \ -DarchetypeArtifactId=flink-quickstart-scala \ -DarchetypeVersion=1.6.4
在生成flink项目框架之后,请注意更改mainClass的值,使其符合您的应用。
手动配置maven项目
如果想要自己创建Java项目,则需要手动添加如下依赖:
org.apache.flink flink-scala_2.11 1.6.4 provided org.apache.flink flink-streaming-scala_2.11 1.6.4 provided
如果想要自己创建Scala项目,则需要手动添加如下依赖:
org.apache.flink flink-java 1.6.4 provided org.apache.flink flink-streaming-java_2.11 1.6.4 provided
注解:此处的scope为provided,因为flink应用在提交时会把这些依赖自动添加到classpath中。如果不设置为provided,可能会导致Java的类冲突,产生不可预见的问题。在自动生成的pom文件中,使用了profile来更方便的控制flink依赖的可见性。使用maven打包后会生成两个jar包,请使用不带original前缀的jar包,因为该包的MANIFEST.MF文件中不包含入口类信息。