- GraalVM Updater
- Native Image
- Substrate VM Project
- Native Image Configuration
- Native Image Compatibility and Optimization Guide
- Native Image Code Style
- Class Initialization in Native Image
- Static Native Images
- Native Image Options
- Native Image Hosted and Runtime Options
- Native Image C API
- Implementing Native Methods in Java with Native Image
- LLVM Backend for Native Image
- Debug Info Feature
- Points-to Analysis Reports
- Using System Properties in Native Images
- Profile-Guided Optimizations
- Low Latency Garbage Collection
- Generating Heap Dumps from Native Images
- Memory Management
- JCA Security Services on Native Image
- Native Image Maven Plugin
- Dynamic Proxy on Native Image
- Java Native Interface (JNI) on Native Image
- Reflection on Native Image
- Accessing Resources in Native Images
- Logging on Native Image
- URL Protocols on Native Image
- Polyglot Programming
- Embedding Reference
- JVM Languages Reference
- LLVM Languages Reference
- Python Reference
- R Reference Manual
- Ruby Reference
- WebAssembly Reference
URL Protocols on Native Image
URL Protocols on Native Image can be divided in three classes:
Supported and Enabled by Default #
These are protocols that are enabled by default and added to every built image.
resource are the only supported URL protocols enabled by default.
Supported and Disabled by Default #
These are protocols that are supported but are not enabled by default when building an image.
They must be enabled during image building by adding the
--enable-url-protocols=<protocols> option to the
The option accepts a list of comma separated protocols.
The rationale behind enabling protocols on demand is that you can start with a minimal image and add features as you need them.
This way your image will only include the features that you use which helps keeping the overall size small.
https are the only URL protocols that are supported and can be enabled on demand.
https can be enabled using the
Support for the
https URL protocol relies on the Java Cryptography Architecture (JCA) framework.
https is enabled
--enable-all-security-services is set by default.
This adds to the generated image the code required by the JCA, including statically linking native libraries that the JCA may depend on.
See the documentation on security services for more details.
Not Tested #
No other URL protocols are currently tested.
They can still be enabled using
--enable-url-protocols=<protocols>, however they might not work as expected.