# gen-proxy-config(1)

# gen-proxy-config(1) Manual Page

## Name

gen-proxy-config - Generates a JSON file with the interface names to generate dynamic proxy classes for in the native image.

## Synopsis

gen-proxy-config [-hV] [--[no-]exit] [-c=<factoryClass>] [-o=<outputFile>] [-i=<interfaces>]…​ [@<filename>…​] [<classes>…​]

## Description

Generates a JSON file with the interface names to generate dynamic proxy classes for in the native image. The generated JSON file can be passed to the `-H:DynamicProxyConfigurationFiles=/path/to/proxy-config.json` option of the `native-image` GraalVM utility. See https://github.com/oracle/graal/blob/master/substratevm/DYNAMIC_PROXY.md

## Options

-i, --interface=<interfaces>

  Other fully qualified interface names to generate dynamic proxy classes for in the native image.This option may be specified multiple times with different interface names. Specify multiple comma-separated interface names for dynamic proxies that implement multiple interfaces.

-c, --factory=<factoryClass>

  Optionally specify the fully qualified class name of the custom factory to use to instantiate the command class. When omitted, the default picocli factory is used.

-o, --output=<outputFile>

  Output file to write the configuration to. If not specified, the configuration is written to the standard output stream.

--[no-]exit

  Specify `--exit` if you want the application to call `System.exit` when finished. By default, `System.exit` is not called.

-h, --help

  Show this help message and exit.

-V, --version

  Print version information and exit.

## Arguments

[@<filename>…​]

  One or more argument files containing options.

[<classes>…​]

  Zero or more `@Command` interfaces or classes with `@Command` interface subcommands to generate a Graal SubstrateVM proxy-config for.

## Exit Codes (if enabled with `--exit`)

0

  Successful program execution.

1

  A runtime exception occurred while generating man pages.

2

  Usage error: user input for the command was incorrect, e.g., the wrong number of arguments, a bad flag, a bad syntax in a parameter, etc.

## Example

    java -cp "myapp.jar;picocli-4.5.0.jar;picocli-codegen-4.5.0.jar" picocli.codegen.aot.graalvm.DynamicProxyConfigGenerator my.pkg.MyClass