Annotation Type PluginProvides


Registers InjectPlugin classes for auto-detection with JPMS.

Plugins can be registered with the ServiceLoader manually, but manually registered plugins may cause dependency missing errors to consumers using JPMS. (This can be fixed if the consumer uses the inject maven/gradle plugin)

If we use this @PluginProvides annotation, then avaje inject can auto-detect the plugin and the types that it provides when a consumer uses JPMS. This eliminates the need for a plugin consumer to take action.

  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    Class<?>[]
    The aspects this component provides.
    Fully Qualified Strings of the classes provided.
    Class<?>[]
    The types this plugin provides.
  • Element Details

    • value

      Class<?>[] value
      The types this plugin provides.
      Default:
      {}
    • providesStrings

      Fully Qualified Strings of the classes provided. Use when providing generic types
      Default:
      {}
    • providesAspects

      The aspects this component provides.
      Default:
      {}