Gradle JavaExec Task Type: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 61: Line 61:
==<tt>environment</tt>==
==<tt>environment</tt>==
Specifies a single environment variable, as a key value pair separated by comma. Multiple variable can be specified that way:
Specifies a single environment variable, as a key value pair separated by comma. Multiple variable can be specified that way:
<syntaxhighlight lang='groovy'>
environment "SOME_ENV_VAR", "some value"
environment "SOME_OTHER_ENV_VAR", "some other value"
</syntaxhighlight>


==<tt>systemProperties</tt>==
==<tt>systemProperties</tt>==

Revision as of 20:00, 3 February 2021

External

Internal

Overview

Executes a Java application as a child process. To get details on the actual java command line, execute Gradle with -i command line option.

task someTask(type: JavaExec) {
    classpath = configurations.runtimeClasspath
    main = 'myPackage.MyMainClass'
    args = ['something', 'somethingelse']
    jvmArgs = ['-Xmx12g']
    environment "LD_LIBRARY_PATH", "/usr/local/lib"
    systemProperties [ "some.prop": "some.value", "some.other.prop": "some.other.value" ]
}

Configuration

classpath

classpath = sourceSets.main.runtimeClasspath
classpath = configurations.runtimeClasspath

main

The main class. Must be available on classpath.

main = 'playground.javaExec.Main'

args

"args" can be provided as a single string, but in this case, even if individual tokens are separated by space, the main() method will get just one single string as argument:

args 'A B C'

This will be passed to the Java main() method as args[0]:

arguments:
  args[0]: X Y Z

To provide individual tokens, use this syntax:

args = ['A', 'B', 'C']

The list elements will be passed to the Java main() method as individual arguments:

arguments:
  args[0]: A
  args[1]: B
  args[2]: C

jvmArgs

environment

Specifies a single environment variable, as a key value pair separated by comma. Multiple variable can be specified that way:

environment "SOME_ENV_VAR", "some value"
environment "SOME_OTHER_ENV_VAR", "some other value"

systemProperties