Class ModuleEnableNativeAccessBuildItem

java.lang.Object
io.quarkus.builder.item.BuildItem
io.quarkus.builder.item.MultiBuildItem
io.quarkus.deployment.builditem.ModuleEnableNativeAccessBuildItem

public final class ModuleEnableNativeAccessBuildItem extends io.quarkus.builder.item.MultiBuildItem
This will generate the equivalent of "--enable-native-access moduleName" for all runners of the generated application. This is being introduced currently to have the API in place, however it's currently very limited: when generating a runnable Jar we can only generate an Enable-Native-Access entry in the Manifest for the modules normally identified by ALL-UNNAMED. This is considered acceptable at the time of writing as extensions are generally placed on the classpath for both fast-jar and uber-jar packaging formats. We expect this to evolve as further packaging formats are introduced which would better leverage the module system. We specifically don't allow enabling native access for "ALL-UNNAMED" explicitly while using this API to encourage using the module names that a library has or will have in the near future: for this reason, when a module name is provided which doesn't exist, we map it to the unnamed module. It is not possible to allow native code access to other modules via an agent, other approaches will need to be identified to reconfigure at runtime.
  • Constructor Details

    • ModuleEnableNativeAccessBuildItem

      public ModuleEnableNativeAccessBuildItem(String moduleName)
  • Method Details

    • moduleName

      public String moduleName()