Options for general JVM functionality.

JDK strings will be passed directly to Coursier's --jvm parameter. Run cs java --available to see a list of available JVM versions on your platform.

If the string 'system' is passed, Coursier's --system-jvm option will be used instead, but note that this can lead to inconsistent behavior since the JVM version will be whatever happens to be found first on the system's PATH.

Backend: pants.backend.experimental.java
Config section: [jvm]

Basic options

resolves

--jvm-resolves="{'key1': val1, 'key2': val2, ...}"

PANTS_JVM_RESOLVES

default:
{
  "jvm-default": "3rdparty/jvm/default.lock"
}

A dictionary mapping resolve names to the path of their lockfile.


default_resolve

--jvm-default-resolve=<str>

PANTS_JVM_DEFAULT_RESOLVE

default: jvm-default

The default value used for the resolve and compatible_resolves fields.

The name must be defined as a resolve in [jvm].resolves.


debug_args

--jvm-debug-args="['<str>', '<str>', ...]"

PANTS_JVM_DEBUG_ARGS

default: []

Extra JVM arguments to use when running tests in debug mode.

For example, if you want to attach a remote debugger, use something like ['-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005']


Advanced options

tool_jdk

--jvm-tool-jdk=<str>

PANTS_JVM_TOOL_JDK

default: temurin:1.11

The JDK to use when building and running Pants' internal JVM support code and other non-compiler tools. See jvm help for supported values.


jdk

--jvm-jdk=<str>

PANTS_JVM_JDK

default: temurin:1.11

The JDK to use.

This string will be passed directly to Coursier's --jvm parameter. Run cs java --available to see a list of available JVM versions on your platform.

If the string 'system' is passed, Coursier's --system-jvm option will be used instead, but note that this can lead to inconsistent behavior since the JVM version will be whatever happens to be found first on the system's PATH.


global_options

--jvm-global-options="['<str>', '<str>', ...]"

PANTS_JVM_GLOBAL_OPTIONS

default: []

List of JVM options to pass to all JVM processes.

Options set here will be used by any JVM processes required by Pants, with the exception of heap memory settings like -Xmx, which need to be set using [GLOBAL].process_total_child_memory_usage and [GLOBAL].process_per_child_memory_usage.


Deprecated options

None


Did this page help you?