274 lines
8.3 KiB
XML
274 lines
8.3 KiB
XML
<!--
|
|
Licensed to the Apache Software Foundation (ASF) under one
|
|
or more contributor license agreements. See the NOTICE file
|
|
distributed with this work for additional information
|
|
regarding copyright ownership. The ASF licenses this file
|
|
to you under the Apache License, Version 2.0 (the
|
|
"License"); you may not use this file except in compliance
|
|
with the License. You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing,
|
|
software distributed under the License is distributed on an
|
|
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
KIND, either express or implied. See the License for the
|
|
specific language governing permissions and limitations
|
|
under the License.
|
|
-->
|
|
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
|
<modelVersion>4.0.0</modelVersion>
|
|
|
|
<groupId>com.heibaiying</groupId>
|
|
<artifactId>flink-basis</artifactId>
|
|
<version>1.0</version>
|
|
<packaging>jar</packaging>
|
|
|
|
<name>Flink Quickstart Job</name>
|
|
<url>http://www.myorganization.org</url>
|
|
|
|
<repositories>
|
|
<repository>
|
|
<id>apache.snapshots</id>
|
|
<name>Apache Development Snapshot Repository</name>
|
|
<url>https://repository.apache.org/content/repositories/snapshots/</url>
|
|
<releases>
|
|
<enabled>false</enabled>
|
|
</releases>
|
|
<snapshots>
|
|
<enabled>true</enabled>
|
|
</snapshots>
|
|
</repository>
|
|
</repositories>
|
|
|
|
<properties>
|
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
|
<flink.version>1.9.0</flink.version>
|
|
<scala.binary.version>2.11</scala.binary.version>
|
|
<scala.version>2.11.12</scala.version>
|
|
</properties>
|
|
|
|
<dependencies>
|
|
<!-- Apache Flink dependencies -->
|
|
<!-- These dependencies are provided, because they should not be packaged into the JAR file. -->
|
|
<dependency>
|
|
<groupId>org.apache.flink</groupId>
|
|
<artifactId>flink-scala_${scala.binary.version}</artifactId>
|
|
<version>${flink.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.flink</groupId>
|
|
<artifactId>flink-streaming-scala_${scala.binary.version}</artifactId>
|
|
<version>${flink.version}</version>
|
|
</dependency>
|
|
|
|
<!-- Scala Library, provided by Flink as well. -->
|
|
<dependency>
|
|
<groupId>org.scala-lang</groupId>
|
|
<artifactId>scala-library</artifactId>
|
|
<version>${scala.version}</version>
|
|
</dependency>
|
|
|
|
<!-- Add connector dependencies here. They must be in the default scope (compile). -->
|
|
|
|
<!-- Example:
|
|
|
|
<dependency>
|
|
<groupId>org.apache.flink</groupId>
|
|
<artifactId>flink-connector-kafka-0.10_${scala.binary.version}</artifactId>
|
|
<version>${flink.version}</version>
|
|
</dependency>
|
|
-->
|
|
|
|
<!-- Add logging framework, to produce console output when running in the IDE. -->
|
|
<!-- These dependencies are excluded from the application JAR by default. -->
|
|
<dependency>
|
|
<groupId>org.slf4j</groupId>
|
|
<artifactId>slf4j-log4j12</artifactId>
|
|
<version>1.7.7</version>
|
|
<scope>runtime</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>log4j</groupId>
|
|
<artifactId>log4j</artifactId>
|
|
<version>1.2.17</version>
|
|
<scope>runtime</scope>
|
|
</dependency>
|
|
</dependencies>
|
|
|
|
<build>
|
|
<plugins>
|
|
<!-- We use the maven-shade plugin to create a fat jar that contains all necessary dependencies. -->
|
|
<!-- Change the value of <mainClass>...</mainClass> if your program entry point changes. -->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-shade-plugin</artifactId>
|
|
<version>3.0.0</version>
|
|
<executions>
|
|
<!-- Run shade goal on package phase -->
|
|
<execution>
|
|
<phase>package</phase>
|
|
<goals>
|
|
<goal>shade</goal>
|
|
</goals>
|
|
<configuration>
|
|
<artifactSet>
|
|
<excludes>
|
|
<exclude>org.apache.flink:force-shading</exclude>
|
|
<exclude>com.google.code.findbugs:jsr305</exclude>
|
|
<exclude>org.slf4j:*</exclude>
|
|
<exclude>log4j:*</exclude>
|
|
</excludes>
|
|
</artifactSet>
|
|
<filters>
|
|
<filter>
|
|
<!-- Do not copy the signatures in the META-INF folder.
|
|
Otherwise, this might cause SecurityExceptions when using the JAR. -->
|
|
<artifact>*:*</artifact>
|
|
<excludes>
|
|
<exclude>META-INF/*.SF</exclude>
|
|
<exclude>META-INF/*.DSA</exclude>
|
|
<exclude>META-INF/*.RSA</exclude>
|
|
</excludes>
|
|
</filter>
|
|
</filters>
|
|
<transformers>
|
|
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
|
|
<mainClass>com.heibaiying.StreamingJob</mainClass>
|
|
</transformer>
|
|
</transformers>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
|
|
<!-- Java Compiler -->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
<version>3.1</version>
|
|
<configuration>
|
|
<source>1.8</source>
|
|
<target>1.8</target>
|
|
</configuration>
|
|
</plugin>
|
|
|
|
<!-- Scala Compiler -->
|
|
<plugin>
|
|
<groupId>net.alchim31.maven</groupId>
|
|
<artifactId>scala-maven-plugin</artifactId>
|
|
<version>3.2.2</version>
|
|
<executions>
|
|
<execution>
|
|
<goals>
|
|
<goal>compile</goal>
|
|
<goal>testCompile</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
|
|
<!-- Eclipse Scala Integration -->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-eclipse-plugin</artifactId>
|
|
<version>2.8</version>
|
|
<configuration>
|
|
<downloadSources>true</downloadSources>
|
|
<projectnatures>
|
|
<projectnature>org.scala-ide.sdt.core.scalanature</projectnature>
|
|
<projectnature>org.eclipse.jdt.core.javanature</projectnature>
|
|
</projectnatures>
|
|
<buildcommands>
|
|
<buildcommand>org.scala-ide.sdt.core.scalabuilder</buildcommand>
|
|
</buildcommands>
|
|
<classpathContainers>
|
|
<classpathContainer>org.scala-ide.sdt.launching.SCALA_CONTAINER</classpathContainer>
|
|
<classpathContainer>org.eclipse.jdt.launching.JRE_CONTAINER</classpathContainer>
|
|
</classpathContainers>
|
|
<excludes>
|
|
<exclude>org.scala-lang:scala-library</exclude>
|
|
<exclude>org.scala-lang:scala-compiler</exclude>
|
|
</excludes>
|
|
<sourceIncludes>
|
|
<sourceInclude>**/*.scala</sourceInclude>
|
|
<sourceInclude>**/*.java</sourceInclude>
|
|
</sourceIncludes>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>build-helper-maven-plugin</artifactId>
|
|
<version>1.7</version>
|
|
<executions>
|
|
<!-- Add src/main/scala to eclipse build path -->
|
|
<execution>
|
|
<id>add-source</id>
|
|
<phase>generate-sources</phase>
|
|
<goals>
|
|
<goal>add-source</goal>
|
|
</goals>
|
|
<configuration>
|
|
<sources>
|
|
<source>src/main/scala</source>
|
|
</sources>
|
|
</configuration>
|
|
</execution>
|
|
<!-- Add src/test/scala to eclipse build path -->
|
|
<execution>
|
|
<id>add-test-source</id>
|
|
<phase>generate-test-sources</phase>
|
|
<goals>
|
|
<goal>add-test-source</goal>
|
|
</goals>
|
|
<configuration>
|
|
<sources>
|
|
<source>src/test/scala</source>
|
|
</sources>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
|
|
<!-- This profile helps to make things run out of the box in IntelliJ -->
|
|
<!-- Its adds Flink's core classes to the runtime class path. -->
|
|
<!-- Otherwise they are missing in IntelliJ, because the dependency is 'provided' -->
|
|
<profiles>
|
|
<profile>
|
|
<id>add-dependencies-for-IDEA</id>
|
|
|
|
<activation>
|
|
<property>
|
|
<name>idea.version</name>
|
|
</property>
|
|
</activation>
|
|
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>org.apache.flink</groupId>
|
|
<artifactId>flink-scala_${scala.binary.version}</artifactId>
|
|
<version>${flink.version}</version>
|
|
<scope>compile</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.flink</groupId>
|
|
<artifactId>flink-streaming-scala_${scala.binary.version}</artifactId>
|
|
<version>${flink.version}</version>
|
|
<scope>compile</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.scala-lang</groupId>
|
|
<artifactId>scala-library</artifactId>
|
|
<version>${scala.version}</version>
|
|
<scope>compile</scope>
|
|
</dependency>
|
|
</dependencies>
|
|
</profile>
|
|
</profiles>
|
|
|
|
</project>
|