rabbitmq-java-client
rabbitmq-java-client copied to clipboard
Warning when native building with GraalVM for JDK 21
Describe the bug
-H:±UnlockExperimentalVMOptions was introduced in GraalVM for JDK 21 (see https://github.com/oracle/graal/issues/7105).
When building an app natively, the following warning appears:
Warning: The option '-H:IncludeResources=rabbitmq-amqp-client.properties|version.properties' is experimental and must be enabled via '-H:+UnlockExperimentalVMOptions' in the future.
Warning: Please re-evaluate whether any experimental option is required, and either remove or unlock it. The build output lists all active experimental options, including where they come from and possible alternatives. If you think an experimental option should be considered as stable, please file an issue.
This warning comes from:
https://github.com/rabbitmq/rabbitmq-java-client/blob/b4e86c7563fb814dea4612e3a44104e499f7e4b2/src/main/resources/META-INF/native-image/com.rabbitmq/amqp-client/native-image.properties#L1
Reproduction steps
- Compile an app with GraalVM and JDK 21 (or later) ...
Expected behavior
Compilation without the warning
Additional context
The warning is usually solved by wrapping the mention arg (or removing the need of it). Something like:
-H:+UnlockExperimentalVMOptions -H:IncludeResources=rabbitmq-amqp-client.properties|version.properties -H:-UnlockExperimentalVMOptions
However, I'm unsure regarding the behavior of it on lower JDK versions