public class ResourceConfigGenerator
extends java.lang.Object
ResourceConfigGenerator generates a JSON String with the resource bundles and other classpath resources
that should be included in the Substrate VM native image.
The GraalVM native-image builder by default will not integrate any of the classpath resources into the image it creates.
The output of ResourceConfigGenerator is intended to be passed to the -H:ResourceConfigurationFiles=/path/to/resource-config.json
option of the native-image GraalVM utility.
This allows picocli-based native image applications to access these resources.
Alternatively, the generated configuration
files can be supplied to the native-image tool by placing them in a
META-INF/native-image/ directory on the class path, for example, in a JAR file used in the image build.
This directory (or any of its subdirectories) is searched for files with the names jni-config.json,
reflect-config.json, proxy-config.json and resource-config.json, which are then automatically
included in the build. Not all of those files must be present.
When multiple files with the same name are found, all of them are included.
| Constructor and Description |
|---|
ResourceConfigGenerator() |
| Modifier and Type | Method and Description |
|---|---|
static java.lang.String |
generateResourceConfig(picocli.CommandLine.Model.CommandSpec[] specs,
java.lang.String[] bundles,
java.lang.String[] resourceRegex)
Returns a JSON String with the resources and resource bundles to include for the specified
CommandSpec objects. |
static void |
main(java.lang.String... args)
Runs this class as a standalone application, printing the resulting JSON String to a file or to
System.out. |
public static void main(java.lang.String... args)
System.out.args - one or more fully qualified class names of @Command-annotated classes.public static java.lang.String generateResourceConfig(picocli.CommandLine.Model.CommandSpec[] specs,
java.lang.String[] bundles,
java.lang.String[] resourceRegex)
CommandSpec objects.specs - one or more CommandSpec objects to inspect for resource bundlesbundles - base names of additional resource bundles to be included in the imageresourceRegex - one or more Java regular expressions that match resource(s) to be included in the image-H:ResourceConfigurationFiles=/path/to/resource-config.json option of the GraalVM native-image utility.