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便可。工具