Github user imrel commented on a diff in the pull request: https://github.com/apache/flink/pull/5900#discussion_r197720653 --- Diff: docs/quickstart/java_api_quickstart.md --- @@ -108,16 +118,201 @@ In Eclipse, choose box: `-Xmx800m`. In IntelliJ IDEA recommended way to change JVM options is from the `Help | Edit Custom VM Options` menu. See [this article](https://intellij-support.jetbrains.com/hc/en-us/articles/206544869-Configuring-JVM-options-and-platform-properties) for details. -## Build Project +### Build Project If you want to __build/package your project__, go to your project directory and run the '`mvn clean package`' command. You will __find a JAR file__ that contains your application, plus connectors and libraries that you may have added as dependencies to the application: `target/<artifact-id>-<version>.jar`. __Note:__ If you use a different class than *StreamingJob* as the application's main class / entry point, -we recommend you change the `mainClass` setting in the `pom.xml` file accordingly. That way, the Flink -can run time application from the JAR file without additionally specifying the main class. +we recommend you change the `mainClass` setting in the `pom.xml` file accordingly. That way, Flink +can run the application from the JAR file without additionally specifying the main class. + +## Gradle + +### Requirements + +The only requirements are working __Gradle 3.x__ (or higher) and __Java 8.x__ installations. + +### Create Project + +Use one of the following commands to __create a project__: + +<ul class="nav nav-tabs" style="border-bottom: none;"> + <li class="active"><a href="#gradle-example" data-toggle="tab"><strong>Gradle example</strong></a></li> + <li><a href="#gradle-script" data-toggle="tab">Run the <strong>quickstart script</strong></a></li> +</ul> +<div class="tab-content"> + <div class="tab-pane active" id="gradle-example"> + + <ul class="nav nav-tabs" style="border-bottom: none;"> + <li class="active"><a href="#gradle-build" data-toggle="tab"><tt>build.gradle</tt></a></li> + <li><a href="#gradle-settings" data-toggle="tab"><tt>settings.gradle</tt></a></li> + </ul> + <div class="tab-content"> + <div class="tab-pane active" id="gradle-build"> + {% highlight gradle %} +buildscript { + repositories { + jcenter() // this applies only to the Gradle 'Shadow' plugin + } + dependencies { + classpath 'com.github.jengelman.gradle.plugins:shadow:2.0.3' + } +} + +plugins { + id 'java' + id 'application' + // shadow plugin to produce fat JARs + id 'com.github.johnrengelman.shadow' version '2.0.3' +} + + +// artifact properties +group = 'org.myorg.quickstart' +version = '0.1-SNAPSHOT' +mainClassName = 'org.myorg.quickstart.StreamingJob' +description = """Flink Quickstart Job""" + +ext { + javaVersion = '1.8' + flinkVersion = '1.6-SNAPSHOT' + scalaBinaryVersion = '2.11' + slf4jVersion = '1.7.7' + log4jVersion = '1.2.17' +} + + +sourceCompatibility = javaVersion +targetCompatibility = javaVersion +tasks.withType(JavaCompile) { + options.encoding = 'UTF-8' +} + +applicationDefaultJvmArgs = ["-Dlog4j.configuration=log4j.properties"] + +// declare where to find the dependencies of your project +repositories { + mavenCentral() + maven { url "https://repository.apache.org/content/repositories/snapshots/" } +} + +// NOTE: We cannot use "compileOnly" or "shadow" configurations since then we could not run code +// in the IDE or with "gradle run". We also cannot exclude transitive dependencies from the +// shadowJar yet (see https://github.com/johnrengelman/shadow/issues/159). --- End diff -- compileOnly for provided dependencies works good for me, for running in IDEA i select checkbox "include provided dependencies" on run configuration and for tests i add this: configurations { testCompile.extendsFrom compileOnly }
---