Skip to main content

Packaging your Application

In general, you package your DataStream, Table API or DataSet API program for Ververica Platform in the same as for any other Apache Flink® runtime. The Apache Flink® documentation provides example project setups for Maven & Gradle to get you started.

note

Ververica Platform supports Java 8 and 11 since version 2.5.0. See Supported Versions & Compatibility for details.

Ververica Platform comes with our own distribution of Apache Flink®. Our distribution is always compatible with vanilla Apache Flink®, but might include additional and/or more timely bug and security vulnerability fixes.

Our Apache Flink® Docker images are built from our distribution of Apache Flink®, but the Docker images do not contain all Apache Flink® dependencies that you might need to run your program. Most importantly, connector dependencies, e.g. for Apache Kafka®, are not provided by the Ververica runtime, but need to be bundled by the user.

In order for you to use our distribution of Apache Flink® when packaging your program, we host a Maven repository including these dependencies. Please follow the instructions to integrate it with your build.

Step 1: Add Maven Repository

First, you need to add maven.ververica.com as an additional repository to your build system.

<repository>
<id>vvp-flink-releases</id>
<url>https://maven.ververica.com/artifactory/vvp-flink-release/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>

Step 2: Change Maven Group IDs & Version

Second, our distribution of Apache Flink® is published under a different Maven group id and version than vanilla Apache Flink®. The group id is "com.ververica.flink" instead of "org.apache.flink". The versions follows the versioning of Apache Flink® with an additional counter for off-cycle releases: "<major>.<minor>.<patch>-<stream|spring>``<ververica-version-counter>".

For example, our second releases for Apache Flink® 1.11.2 would have the versions "1.11.2-stream2"" and "1.11.2-spring2". The stream|spring tag identifies the edition of Ververica Platform that you are using.

Please see Ververica Platform Public Registry for a list of available versions. The Maven version corresponds to the Docker image tag.

<dependencies>
<dependency>
<groupId>com.ververica.flink</groupId>
<artifactId>flink-connector-kafka_2.12</artifactId>
<version>1.11.2-stream2</version>
</dependency>
</dependencies>