Flink应用项目可使用Maven或SBT来构建项目,Flink针对这些构建工具提供了相应项目模板。
Maven模板命令以下,咱们只须要根据提示输入应用项目的groupId、artifactId、version和package路径便可。java
mvn archetype:generate -DarchetypeGroupId=org.apache.flink -DarchetypeArtifactId=flink-quickstart-java -DarchetypeVersion=1.7.2
目录结构和咱们使用IDEA建立的目录结构基本同样,只是它会帮咱们引入Flink依赖和日志依赖。apache
<flink.version>1.7.2</flink.version> <scala.binary.version>2.11</scala.binary.version> ... <dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-java</artifactId> <version>${flink.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-streaming-java_${scala.binary.version}</artifactId> <version>${flink.version}</version> <scope>provided</scope> </dependency>
flink-java和flink-streaming-java_2.11是咱们使用Java开发Flink应用程序的必要依赖。maven
默认也帮咱们引入maven-shade-plugin插件,因此在打包的时候记得将mainClass改为本身的主类。ide
//Flink核心依赖 <dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-java</artifactId> <version>1.7.2</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-streaming-java_2.11</artifactId> <version>1.7.2</version> <scope>provided</scope> </dependency> //应用程序依赖 <dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-connector-kafka-0.10_2.11</artifactId> <version>1.7.2</version> </dependency>
本文主要对如何使用Maven构建工具来快速构建Flink项目以及Flink核心依赖和应用程序依赖的不一样作了讲解,须要注意对于核心依赖咱们只须要将依赖做用范围scope设置为provided便可。工具